neovim

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

lprolog.vim (1934B)


      1 " Vim settings file
      2 " Language:     LambdaProlog (Teyjus)
      3 " Maintainer:   Markus Mottl  <markus.mottl@gmail.com>
      4 " URL:          http://www.ocaml.info/vim/ftplugin/lprolog.vim
      5 " Last Change:  2025 Jun 08 - set 'comments', 'commentstring'
      6 "               2025 Apr 16 - set 'cpoptions' for line continuation
      7 "               2023 Aug 28 - added undo_ftplugin (Vim Project)
      8 "               2006 Feb 05
      9 "               2001 Sep 16 - fixed 'no_mail_maps'-bug (MM)
     10 "               2001 Sep 02 - initial release  (MM)
     11 
     12 " Only do these settings when not done yet for this buffer
     13 if exists("b:did_ftplugin")
     14  finish
     15 endif
     16 
     17 let s:cpo_save = &cpo
     18 set cpo&vim
     19 
     20 " Don't do other file type settings for this buffer
     21 let b:did_ftplugin = 1
     22 
     23 " Error format
     24 setlocal efm=%+A./%f:%l.%c:\ %m
     25 
     26 " Formatting of comments
     27 setlocal formatprg=fmt\ -w75\ -p\\%
     28 
     29 setlocal comments=s1:/*,mb:*,ex:*/,:% commentstring=%\ %s
     30 
     31 let b:undo_ftplugin = "setlocal efm< fp< com< cms<"
     32 
     33 " Add mappings, unless the user didn't want this.
     34 if !exists("no_plugin_maps") && !exists("no_lprolog_maps")
     35  " Uncommenting
     36  if !hasmapto('<Plug>Comment')
     37    nmap <buffer> <LocalLeader>c <Plug>LUncomOn
     38    vmap <buffer> <LocalLeader>c <Plug>BUncomOn
     39    nmap <buffer> <LocalLeader>C <Plug>LUncomOff
     40    vmap <buffer> <LocalLeader>C <Plug>BUncomOff
     41    let b:undo_ftplugin ..=
     42          \ " | silent! execute 'nunmap <buffer> <LocalLeader>c'" ..
     43          \ " | silent! execute 'vunmap <buffer> <LocalLeader>c'" ..
     44          \ " | silent! execute 'nunmap <buffer> <LocalLeader>C'" ..
     45          \ " | silent! execute 'vunmap <buffer> <LocalLeader>C'"
     46  endif
     47 
     48  nnoremap <buffer> <Plug>LUncomOn mz0i/* <ESC>$A */<ESC>`z
     49  nnoremap <buffer> <Plug>LUncomOff <ESC>:s/^\/\* \(.*\) \*\//\1/<CR>
     50  vnoremap <buffer> <Plug>BUncomOn <ESC>:'<,'><CR>`<O<ESC>0i/*<ESC>`>o<ESC>0i*/<ESC>`<
     51  vnoremap <buffer> <Plug>BUncomOff <ESC>:'<,'><CR>`<dd`>dd`<
     52 endif
     53 
     54 let &cpo = s:cpo_save
     55 unlet s:cpo_save