]> git.nbdom.net Git - nb.git/commitdiff
_MapHelpSort
authorNicolas Boisselier <nicolas.boisselier@gmail.com>
Tue, 21 Mar 2023 21:01:24 +0000 (22:01 +0100)
committerNicolas Boisselier <nicolas.boisselier@gmail.com>
Tue, 21 Mar 2023 21:01:24 +0000 (22:01 +0100)
etc/vim/source/map.vim

index d84630e9c3dfd086aac774e6828027894e4821b2..c3f985b908557cb493aea786296f4c86bfa6c7a1 100644 (file)
@@ -9,9 +9,15 @@
 "
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 let MapHelp = []
+func!_MapHelpSort(x,y)
+       if (a:x[0] == a:y[0])
+               return 0
+       endif
+       return a:x[0] > a:y[0] ? 1 : -1
+endfunc
+
 func!MapHelp()
   let line=['','']
-  let klines=[]
   let fcount=''
 
   " Calculate string length for sprintf
@@ -19,16 +25,15 @@ func!MapHelp()
     if len(line[0]) > fcount
       let fcount = len(line[0])
     endif
-    call add(klines,line[0]) " for sorting later
   endfor
-       call sort(klines)
+       call sort(g:MapHelp,function("_MapHelpSort"))
 
        let fmt=" %-" . fcount . "s : %s"
 
        let i=0
        echo "Help:\n"
-  for line in klines
-         echo printf(fmt,g:MapHelp[i][0],g:MapHelp[i][1])
+  for line in g:MapHelp
+         echo printf(fmt,line[0],line[1])
     let i = i+1
   endfor
 
@@ -138,3 +143,9 @@ map <F2> :call FileCheckSyntaxe()<CR>
 call add(MapHelp,['F5','Add / Delete comment'])
 map <F5> :call CommentNewLine()<CR>
 vmap <F5> :call CommentToggle()<CR>
+
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+" Alt+h - Help
+call add(MapHelp,['Alt+h','This Help'])
+map ˙ :call MapHelp()<CR>
+map \eh :call MapHelp()<CR>