aboutsummaryrefslogtreecommitdiff
path: root/runtime/ftplugin
diff options
context:
space:
mode:
authorChristian Clason <c.clason@uni-graz.at>2024-11-15 08:40:22 +0100
committerChristian Clason <ch.clason+github@icloud.com>2024-11-15 09:07:37 +0100
commitf0fd9acc4bcc4233a4bc661f23626abe496a3cee (patch)
tree7af551a4332ee569d99b948df4e405c3fbfd4710 /runtime/ftplugin
parent2024c10d74cea760ff9e4ac8208cc4c9c176f4d3 (diff)
downloadrneovim-f0fd9acc4bcc4233a4bc661f23626abe496a3cee.tar.gz
rneovim-f0fd9acc4bcc4233a4bc661f23626abe496a3cee.tar.bz2
rneovim-f0fd9acc4bcc4233a4bc661f23626abe496a3cee.zip
vim-patch:9.1.0865: filetype: org files are not recognized
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 https://github.com/vim/vim/commit/0684800c853ee5bd6e6736389b1a6ebe6a16a741 Co-authored-by: Luca Saccarola <github.e41mv@aleeas.com>
Diffstat (limited to 'runtime/ftplugin')
-rw-r--r--runtime/ftplugin/org.vim37
1 files changed, 37 insertions, 0 deletions
diff --git a/runtime/ftplugin/org.vim b/runtime/ftplugin/org.vim
new file mode 100644
index 0000000000..45a5e19d49
--- /dev/null
+++ b/runtime/ftplugin/org.vim
@@ -0,0 +1,37 @@
+" 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