neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit 9ebf3454ade5ba832e77fd4c782cedc99267ec19
parent dc04ef2a20bf3457269e0c2aeb7dbfbb56c47012
Author: Christian Clason <c.clason@uni-graz.at>
Date:   Mon,  8 Jul 2024 21:35:49 +0200

vim-patch:ab03dd2: runtime(hlsplaylist): include hlsplaylist ftplugin file

fixes: vim/vim#15156
closes: vim/vim#15162

https://github.com/vim/vim/commit/ab03dd2085a37a62864cbf8616ebd52b8bbc3f6b

Co-authored-by: AvidSeeker <avidseeker7@protonmail.com>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>

Diffstat:
Aruntime/ftplugin/hlsplaylist.vim | 37+++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+), 0 deletions(-)

diff --git a/runtime/ftplugin/hlsplaylist.vim b/runtime/ftplugin/hlsplaylist.vim @@ -0,0 +1,37 @@ +" Vim filetype plugin +" Language: HLS/M3U Playlist +" Maintainer: AvidSeeker <avidseeker7@protonmail.com> +" Last Change: 2024 Jul 07 +" + +if exists("b:did_ftplugin") + finish +endif +let g:did_ftplugin = 1 + +setlocal commentstring=#%s + +let b:undo_ftplugin = "setl commentstring<" + +function! M3UFold() abort + let line = getline(v:lnum) + if line =~# '^#EXTGRP' + return ">1" + endif + return "=" +endfunction + +function! M3UFoldText() abort + let start_line = getline(v:foldstart) + let title = substitute(start_line, '^#EXTGRP:*', '', '') + let foldsize = (v:foldend - v:foldstart + 1) + let linecount = '['.foldsize.' lines]' + return title.' '.linecount +endfunction + +if has("folding") + setlocal foldexpr=M3UFold() + setlocal foldmethod=expr + setlocal foldtext=M3UFoldText() + let b:undo_ftplugin .= "|setl foldexpr< foldmethod< foldtext<" +endif