Luca Saccarola | 0684800 | 2024-11-14 22:44:14 +0100 | [diff] [blame] | 1 | " Vim filetype plugin file |
| 2 | " Language: Org |
| 3 | " Maintainer: Luca Saccarola <github.e41mv@aleeas.com> |
| 4 | " Last Change: 2024 Nov 14 |
| 5 | |
| 6 | if exists("b:did_ftplugin") |
| 7 | finish |
| 8 | endif |
| 9 | let b:did_ftplugin = 1 |
| 10 | |
| 11 | if exists('b:undo_ftplugin') |
| 12 | let b:undo_ftplugin .= "|setl cms< com< fo< flp<" |
| 13 | else |
| 14 | let b:undo_ftplugin = "setl cms< com< fo< flp<" |
| 15 | endif |
| 16 | |
| 17 | setl commentstring=#\ %s |
| 18 | setl comments=fb:*,fb:-,fb:+,b:#,b:\: |
| 19 | |
| 20 | setl formatoptions+=nql |
| 21 | setl formatlistpat=^\\s*\\(\\(\\d\\|\\a\\)\\+[.)]\\|[+-]\\)\\s\\+ |
| 22 | |
| 23 | function OrgFoldExpr() |
| 24 | let l:depth = match(getline(v:lnum), '\(^\*\+\)\@<=\( .*$\)\@=') |
| 25 | if l:depth > 0 && synIDattr(synID(v:lnum, 1, 1), 'name') =~# '\m^orgHeadline' |
| 26 | return ">" . l:depth |
| 27 | endif |
| 28 | return "=" |
| 29 | endfunction |
| 30 | |
| 31 | if has("folding") && get(g:, 'org_folding', 0) |
| 32 | setl foldexpr=OrgFoldExpr() |
| 33 | setl foldmethod=expr |
| 34 | let b:undo_ftplugin .= "|setl foldexpr< foldmethod<" |
| 35 | endif |
| 36 | |
| 37 | " vim: ts=8 sts=2 sw=2 et |