Gregory Anders | 1cc4cae | 2024-07-15 20:00:48 +0200 | [diff] [blame] | 1 | " Vim filetype plugin file |
| 2 | " Language: Typst |
Luca Saccarola | b66cac1 | 2024-12-09 20:29:14 +0100 | [diff] [blame] | 3 | " Previous Maintainer: Gregory Anders |
| 4 | " Maintainer: Luca Saccarola <github.e41mv@aleeas.com> |
| 5 | " Last Change: 2024 Dec 09 |
Gregory Anders | 1cc4cae | 2024-07-15 20:00:48 +0200 | [diff] [blame] | 6 | " Based on: https://github.com/kaarmu/typst.vim |
Riley Bruins | c3d5c2f | 2024-05-20 05:08:49 -0700 | [diff] [blame] | 7 | |
| 8 | if exists('b:did_ftplugin') |
| 9 | finish |
| 10 | endif |
| 11 | let b:did_ftplugin = 1 |
| 12 | |
Gregory Anders | 1cc4cae | 2024-07-15 20:00:48 +0200 | [diff] [blame] | 13 | setlocal commentstring=//\ %s |
| 14 | setlocal comments=s1:/*,mb:*,ex:*/,:// |
Luca Saccarola | 9a39483 | 2024-12-01 20:12:26 +0100 | [diff] [blame] | 15 | setlocal formatoptions+=croqn |
Luca Saccarola | b66cac1 | 2024-12-09 20:29:14 +0100 | [diff] [blame] | 16 | " Numbered Lists |
Luca Saccarola | 9a39483 | 2024-12-01 20:12:26 +0100 | [diff] [blame] | 17 | setlocal formatlistpat=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s* |
Luca Saccarola | b66cac1 | 2024-12-09 20:29:14 +0100 | [diff] [blame] | 18 | " Unordered (-), Ordered (+) and definition (/) Lists |
| 19 | setlocal formatlistpat+=\\\|^\\s*[-+/\]\\s\\+ |
Gregory Anders | 1cc4cae | 2024-07-15 20:00:48 +0200 | [diff] [blame] | 20 | setlocal suffixesadd=.typ |
| 21 | |
Luca Saccarola | 9a39483 | 2024-12-01 20:12:26 +0100 | [diff] [blame] | 22 | let b:undo_ftplugin = 'setl cms< com< fo< flp< sua<' |
Gregory Anders | 1cc4cae | 2024-07-15 20:00:48 +0200 | [diff] [blame] | 23 | |
| 24 | if get(g:, 'typst_conceal', 0) |
| 25 | setlocal conceallevel=2 |
| 26 | let b:undo_ftplugin .= ' cole<' |
| 27 | endif |
Konfekt | 7c3f9af | 2024-10-05 17:26:46 +0200 | [diff] [blame] | 28 | |
Luca Saccarola | 421ed14 | 2024-10-21 22:01:10 +0200 | [diff] [blame] | 29 | if has("folding") && get(g:, 'typst_folding', 0) |
| 30 | setlocal foldexpr=typst#foldexpr() |
| 31 | setlocal foldmethod=expr |
| 32 | let b:undo_ftplugin .= "|setl foldexpr< foldmethod<" |
| 33 | endif |
| 34 | |
Konfekt | 7c3f9af | 2024-10-05 17:26:46 +0200 | [diff] [blame] | 35 | if !exists('current_compiler') |
| 36 | compiler typst |
| 37 | let b:undo_ftplugin ..= "| compiler make" |
| 38 | endif |