Mercurial > vim
view runtime/ftplugin/markdown.vim @ 36247:a3244333f8c4 draft
runtime(misc): unset compiler in various ftplugins
Commit: https://github.com/vim/vim/commit/7c3f9af0ed5dd7035f8a3fbb2f0bf965a453e359
Author: Konfekt <Konfekt@users.noreply.github.com>
Date: Sat Oct 5 17:26:46 2024 +0200
runtime(misc): unset compiler in various ftplugins
just to foster best practices
closes: #15798
Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 05 Oct 2024 17:30:04 +0200 |
parents | 7c7432a53a6c |
children |
line wrap: on
line source
" Vim filetype plugin " Language: Markdown " Maintainer: Tim Pope <https://github.com/tpope/vim-markdown> " Last Change: 2023 Dec 28 " 2024 May 24 by Riley Bruins <ribru17@gmail.com> ('commentstring') if exists("b:did_ftplugin") finish endif runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim let s:keepcpo= &cpo set cpo&vim setlocal comments=fb:*,fb:-,fb:+,n:> commentstring=<!--\ %s\ --> setlocal formatoptions+=tcqln formatoptions-=r formatoptions-=o setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^\\s*[-*+]\\s\\+\\\|^\\[^\\ze[^\\]]\\+\\]:\\&^.\\{4\\} if exists('b:undo_ftplugin') let b:undo_ftplugin .= "|setl cms< com< fo< flp< et< ts< sts< sw<" else let b:undo_ftplugin = "setl cms< com< fo< flp< et< ts< sts< sw<" endif if get(g:, 'markdown_recommended_style', 1) setlocal expandtab tabstop=4 softtabstop=4 shiftwidth=4 endif if !exists("g:no_plugin_maps") && !exists("g:no_markdown_maps") nnoremap <silent><buffer> [[ :<C-U>call search('\%(^#\{1,5\}\s\+\S\\|^\S.*\n^[=-]\+$\)', "bsW")<CR> nnoremap <silent><buffer> ]] :<C-U>call search('\%(^#\{1,5\}\s\+\S\\|^\S.*\n^[=-]\+$\)', "sW")<CR> xnoremap <silent><buffer> [[ :<C-U>exe "normal! gv"<Bar>call search('\%(^#\{1,5\}\s\+\S\\|^\S.*\n^[=-]\+$\)', "bsW")<CR> xnoremap <silent><buffer> ]] :<C-U>exe "normal! gv"<Bar>call search('\%(^#\{1,5\}\s\+\S\\|^\S.*\n^[=-]\+$\)', "sW")<CR> let b:undo_ftplugin .= '|sil! nunmap <buffer> [[|sil! nunmap <buffer> ]]|sil! xunmap <buffer> [[|sil! xunmap <buffer> ]]' endif function! s:NotCodeBlock(lnum) abort return synIDattr(synID(a:lnum, 1, 1), 'name') !=# 'markdownCodeBlock' endfunction function! MarkdownFold() abort let line = getline(v:lnum) if line =~# '^#\+ ' && s:NotCodeBlock(v:lnum) return ">" . match(line, ' ') endif let nextline = getline(v:lnum + 1) if (line =~ '^.\+$') && (nextline =~ '^=\+$') && s:NotCodeBlock(v:lnum + 1) return ">1" endif if (line =~ '^.\+$') && (nextline =~ '^-\+$') && s:NotCodeBlock(v:lnum + 1) return ">2" endif return "=" endfunction function! s:HashIndent(lnum) abort let hash_header = matchstr(getline(a:lnum), '^#\{1,6}') if len(hash_header) return hash_header else let nextline = getline(a:lnum + 1) if nextline =~# '^=\+\s*$' return '#' elseif nextline =~# '^-\+\s*$' return '##' endif endif endfunction function! MarkdownFoldText() abort let hash_indent = s:HashIndent(v:foldstart) let title = substitute(getline(v:foldstart), '^#\+\s*', '', '') let foldsize = (v:foldend - v:foldstart + 1) let linecount = '['.foldsize.' lines]' return hash_indent.' '.title.' '.linecount endfunction if has("folding") && get(g:, "markdown_folding", 0) setlocal foldexpr=MarkdownFold() setlocal foldmethod=expr setlocal foldtext=MarkdownFoldText() let b:undo_ftplugin .= "|setl foldexpr< foldmethod< foldtext<" endif let &cpo = s:keepcpo unlet s:keepcpo " vim:set sw=2: