]> gitweb.fluxo.info Git - rhatto/dotfiles/vim.git/commitdiff
Fix: workarounds for markdown filetype handling
authorSilvio Rhatto <rhatto@riseup.net>
Mon, 29 Jul 2024 00:52:02 +0000 (21:52 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Mon, 29 Jul 2024 00:52:02 +0000 (21:52 -0300)
vim.dot.link/filetype.vim
vim.dot.link/ftplugin/markdown.vim

index f3c90bb5145894a191bc453c71778b2719ab76b9..f90f9205c6ed47c79201f64d441fc17c2993cf7d 100644 (file)
@@ -1,42 +1,77 @@
 " Vim support file to detect file types
 
+" Check if file type config is already loaded {{{
 if exists("did_load_filetypes")
   finish
 endif
+" }}}
 
-" VIM filetype
-augroup filetype_vim
-  autocmd!
-  autocmd FileType vim setlocal foldmethod=marker
-augroup END
-
-" Filetype detection
+" Filetype detection {{{
 "
 " According to ":help BufRead", this augroup is also evaluated also on
 " ":filetype detect".
 augroup filetypedetect
   autocmd!
-  autocmd BufRead,BufNewFile kvmxfile    setfiletype sh
-  autocmd BufRead,BufNewFile Vagrantfile setfiletype ruby
-  autocmd BufRead,BufNewFile *.vue       setfiletype html
-  autocmd BufRead,BufNewFile *.thtml     setfiletype php
+
+  " Calendar
   autocmd BufRead,BufNewFile *.rem       setfiletype remind
+
+  " Trac
   autocmd BufRead,BufNewFile *.trac      setfiletype tracwiki
   autocmd BufRead,BufNewFile *.tracwiki  setfiletype tracwiki
-  autocmd BufRead,BufNewFile *.mdwn      setfiletype markdown
-  autocmd BufRead,BufNewFile *.md        setfiletype markdown
+
+  " Programming languages
+  autocmd BufRead,BufNewFile kvmxfile    setfiletype sh
+  autocmd BufRead,BufNewFile Vagrantfile setfiletype ruby
   autocmd BufRead,BufNewFile *.py        setfiletype python
   autocmd BufRead,BufNewFile *.pp        setfiletype puppet
   autocmd BufRead,BufNewFile *.php       setfiletype php
+  autocmd BufRead,BufNewFile *.thtml     setfiletype php
+  autocmd BufRead,BufNewFile *.vue       setfiletype html
+
+  " Markdown
+  "
+  " This handling is disabled by default, since it may be conflicting
+  " with something.
+  "
+  " Markdown folding through NestedMarkdownFolds() are not correctly working
+  " with this configuration.
+  "
+  "autocmd BufRead,BufNewFile,BufEnter *.mdwn setfiletype markdown
+  "autocmd BufRead,BufNewFile,BufEnter *.md   setfiletype markdown
+augroup END
+" }}}
+
+" Markdown workaround {{{
+"
+" Since the following configuration is not working at ftplugin/markdown.vim,
+" it's being used here.
+"
+" Also note that BufEnter event also need to be included, otherwise foldings
+" won't be correctly applied in some Markdown files loaded in new windows.
+augroup filetype_markdown
+  autocmd!
+  autocmd BufRead,BufNewFile,BufEnter *.md set foldexpr=NestedMarkdownFolds()
+  autocmd BufRead,BufNewFile,BufEnter *.md set autoindent smartindent tabstop=2 softtabstop=2 shiftwidth=2 expandtab formatoptions=tcroqn2 comments=n:>
+augroup END
+" }}}
+
+" VIM filetype {{{
+augroup filetype_vim
+  autocmd!
+  autocmd FileType vim setlocal foldmethod=marker
 augroup END
+" }}}
 
-" Drupal *.module and *.install files.
+" Drupal {{{
+" Handle *.module, *.install, *.profile etc
 if has("autocmd")
   augroup filetype_drupal
     autocmd!
-    autocmd BufRead,BufNewFile *.profile setfiletype php
-    autocmd BufRead,BufNewFile *.module  setfiletype php
-    autocmd BufRead,BufNewFile *.install setfiletype php
-    autocmd BufRead,BufNewFile *.test    setfiletype php
+    autocmd BufRead,BufNewFile,BufEnter *.profile setfiletype php
+    autocmd BufRead,BufNewFile,BufEnter *.module  setfiletype php
+    autocmd BufRead,BufNewFile,BufEnter *.install setfiletype php
+    autocmd BufRead,BufNewFile,BufEnter *.test    setfiletype php
   augroup END
 endif
+" }}}
index 99d0ed3c4c06442daf32f57f4a1c32ea556bb0f7..366d9f2a49659d8e11ffddc001cb4a56fb948dda 100644 (file)
@@ -1,20 +1,33 @@
 " Markdown configuration
+"
+" This filetype script is currently disable, as it may be conflicting with
+" something else.
+"
+" Markdown folding through NestedMarkdownFolds() are not correctly working
+" with this configuration.
+"
+" These settings are configured directly on filetype.vim instead.
+
+" Basic {{{
+"set autoindent smartindent tabstop=2 softtabstop=2 shiftwidth=2
+"set expandtab formatoptions=tcroqn2 comments=n:>
+" }}}
 
-" Markdown configuration without vim-markdown plugin
+" Markdown configuration without vim-markdown plugin {{{
 "
 " Include folding setup:
 " https://github.com/masukomi/vim-markdown-folding
 "
 " Alternative folding method:
 " https://codereview.stackexchange.com/questions/202620/vim-plugin-for-folding-markdown-lists
-set foldexpr=NestedMarkdownFolds()
-set autoindent smartindent tabstop=2 softtabstop=2 shiftwidth=2
-set expandtab formatoptions=tcroqn2 comments=n:>
+"set foldexpr=NestedMarkdownFolds()
+" }}}
 
-" Markdown configuration with vim-markdown plugin
+" Markdown configuration with vim-markdown plugin {{{
 "set autoindent smartindent tabstop=2 softtabstop=2 shiftwidth=2 expandtab formatoptions=tcroqn2 comments=n:>
 "let g:vim_markdown_new_list_item_indent = 2
 "let g:vim_markdown_folding_style_pythonic = 1
 "let g:vim_markdown_folding_level = 1
 "let g:vim_markdown_auto_insert_bullets = 0
 "let g:vim_markdown_new_list_item_indent = 0
+" }}}