mirror of
https://github.com/neovim/neovim.git
synced 2024-12-24 13:15:09 -07:00
f0fd9acc4b
Problem: filetype: org files are not recognized
Solution: detect '*.org' files as 'org' filetype,
include filetype and syntax plugin
(Luca Saccarola)
closes: vim/vim#16054
0684800c85
Co-authored-by: Luca Saccarola <github.e41mv@aleeas.com>
38 lines
932 B
VimL
38 lines
932 B
VimL
" Vim filetype plugin file
|
|
" Language: Org
|
|
" Maintainer: Luca Saccarola <github.e41mv@aleeas.com>
|
|
" Last Change: 2024 Nov 14
|
|
|
|
if exists("b:did_ftplugin")
|
|
finish
|
|
endif
|
|
let b:did_ftplugin = 1
|
|
|
|
if exists('b:undo_ftplugin')
|
|
let b:undo_ftplugin .= "|setl cms< com< fo< flp<"
|
|
else
|
|
let b:undo_ftplugin = "setl cms< com< fo< flp<"
|
|
endif
|
|
|
|
setl commentstring=#\ %s
|
|
setl comments=fb:*,fb:-,fb:+,b:#,b:\:
|
|
|
|
setl formatoptions+=nql
|
|
setl formatlistpat=^\\s*\\(\\(\\d\\|\\a\\)\\+[.)]\\|[+-]\\)\\s\\+
|
|
|
|
function OrgFoldExpr()
|
|
let l:depth = match(getline(v:lnum), '\(^\*\+\)\@<=\( .*$\)\@=')
|
|
if l:depth > 0 && synIDattr(synID(v:lnum, 1, 1), 'name') =~# '\m^orgHeadline'
|
|
return ">" . l:depth
|
|
endif
|
|
return "="
|
|
endfunction
|
|
|
|
if has("folding") && get(g:, 'org_folding', 0)
|
|
setl foldexpr=OrgFoldExpr()
|
|
setl foldmethod=expr
|
|
let b:undo_ftplugin .= "|setl foldexpr< foldmethod<"
|
|
endif
|
|
|
|
" vim: ts=8 sts=2 sw=2 et
|