annotate runtime/ftplugin/j.vim @ 34219:a0a4a774117b v9.1.0058

patch 9.1.0058: Cannot map Super Keys in GTK UI Commit: https://github.com/vim/vim/commit/92e90a1e102825aa9149262cacfc991264db05df Author: Casey Tucker <dctucker@hotmail.com> Date: Thu Jan 25 22:44:00 2024 +0100 patch 9.1.0058: Cannot map Super Keys in GTK UI Problem: Cannot map Super Keys in GTK UI (Casey Tucker) Solution: Enable Super Key mappings in GTK using <D-Key> (Casey Tucker) As a developer who works in both Mac and Linux using the same keyboard, it can be frustrating having to remember different key combinations or having to rely on system utilities to remap keys. This change allows `<D-z>` `<D-x>` `<D-c>` `<D-v>` etc. to be recognized by the `map` commands, along with the `<D-S-...>` shifted variants. ```vimrc if has('gui_gtk') nnoremap <D-z> u nnoremap <D-S-Z> <C-r> vnoremap <D-x> "+d vnoremap <D-c> "+y cnoremap <D-v> <C-R>+ inoremap <D-v> <C-o>"+gP nnoremap <D-v> "+P vnoremap <D-v> "-d"+P nnoremap <D-s> :w<CR> inoremap <D-s> <C-o>:w<CR> nnoremap <D-w> :q<CR> nnoremap <D-q> :qa<CR> nnoremap <D-t> :tabe<CR> nnoremap <D-S-T> :vs#<CR><C-w>T nnoremap <D-a> ggVG vnoremap <D-a> <ESC>ggVG inoremap <D-a> <ESC>ggVG nnoremap <D-f> / nnoremap <D-g> n nnoremap <D-S-G> N vnoremap <D-x> "+x endif ``` closes: #12698 Signed-off-by: Casey Tucker <dctucker@hotmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Thu, 25 Jan 2024 23:00:03 +0100
parents 8ae680be2a51
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5362
ab1508486b12 Update runtime files. Add support for J.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
1 " Vim filetype plugin
ab1508486b12 Update runtime files. Add support for J.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
2 " Language: J
18639
cb3163d590a1 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 7176
diff changeset
3 " Maintainer: David Bürgin <dbuergin@gluet.ch>
cb3163d590a1 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 7176
diff changeset
4 " URL: https://gitlab.com/glts/vim-j
29779
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
5 " Last Change: 2022-08-06
34134
8ae680be2a51 runtime(ftplugin): Use "*" browsefilter pattern to match "All Files"
Christian Brabandt <cb@256bit.org>
parents: 29779
diff changeset
6 " 2024 Jan 14 by Vim Project (browsefilter)
5362
ab1508486b12 Update runtime files. Add support for J.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
7
5734
657ade71d395 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5425
diff changeset
8 if exists('b:did_ftplugin')
5362
ab1508486b12 Update runtime files. Add support for J.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
9 finish
ab1508486b12 Update runtime files. Add support for J.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
10 endif
ab1508486b12 Update runtime files. Add support for J.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
11 let b:did_ftplugin = 1
ab1508486b12 Update runtime files. Add support for J.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
12
5815
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
13 let s:save_cpo = &cpo
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
14 set cpo&vim
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
15
7176
30042ddff503 commit https://github.com/vim/vim/commit/60cce2fb736c8ff6fdb9603f502d3c15f1f7a25d
Christian Brabandt <cb@256bit.org>
parents: 6741
diff changeset
16 setlocal iskeyword=48-57,A-Z,a-z,_
5362
ab1508486b12 Update runtime files. Add support for J.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
17 setlocal comments=:NB.
ab1508486b12 Update runtime files. Add support for J.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
18 setlocal commentstring=NB.\ %s
5425
9521463d4fc1 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5362
diff changeset
19 setlocal formatoptions-=t
9521463d4fc1 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5362
diff changeset
20 setlocal matchpairs=(:)
7176
30042ddff503 commit https://github.com/vim/vim/commit/60cce2fb736c8ff6fdb9603f502d3c15f1f7a25d
Christian Brabandt <cb@256bit.org>
parents: 6741
diff changeset
21 setlocal path-=/usr/include
5362
ab1508486b12 Update runtime files. Add support for J.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
22
7176
30042ddff503 commit https://github.com/vim/vim/commit/60cce2fb736c8ff6fdb9603f502d3c15f1f7a25d
Christian Brabandt <cb@256bit.org>
parents: 6741
diff changeset
23 " Includes. To make the shorthand form "require 'web/cgi'" work, double the
30042ddff503 commit https://github.com/vim/vim/commit/60cce2fb736c8ff6fdb9603f502d3c15f1f7a25d
Christian Brabandt <cb@256bit.org>
parents: 6741
diff changeset
24 " last path component. Also strip off leading folder names like "~addons/".
30042ddff503 commit https://github.com/vim/vim/commit/60cce2fb736c8ff6fdb9603f502d3c15f1f7a25d
Christian Brabandt <cb@256bit.org>
parents: 6741
diff changeset
25 setlocal include=\\v^\\s*(load\|require)\\s*'\\zs\\f+\\ze'
30042ddff503 commit https://github.com/vim/vim/commit/60cce2fb736c8ff6fdb9603f502d3c15f1f7a25d
Christian Brabandt <cb@256bit.org>
parents: 6741
diff changeset
26 setlocal includeexpr=substitute(substitute(tr(v:fname,'\\','/'),'\\v^[^~][^/.]*(/[^/.]+)$','&\\1',''),'\\v^\\~[^/]+/','','')
30042ddff503 commit https://github.com/vim/vim/commit/60cce2fb736c8ff6fdb9603f502d3c15f1f7a25d
Christian Brabandt <cb@256bit.org>
parents: 6741
diff changeset
27 setlocal suffixesadd=.ijs
30042ddff503 commit https://github.com/vim/vim/commit/60cce2fb736c8ff6fdb9603f502d3c15f1f7a25d
Christian Brabandt <cb@256bit.org>
parents: 6741
diff changeset
28
18639
cb3163d590a1 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 7176
diff changeset
29 let b:undo_ftplugin = 'setlocal suffixesadd< includeexpr< include< path< matchpairs< formatoptions< commentstring< comments< iskeyword<'
5815
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
30
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
31 " Section movement with ]] ][ [[ []. The start/end patterns below are amended
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
32 " inside the function in order to avoid matching on the current cursor line.
29779
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
33 if !exists('no_plugin_maps') && !exists('no_j_maps')
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
34 let s:sectionstart = '\%(\s*Note\|.\{-}\<\%([0-4]\|13\|noun\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(:\s*0\|def\s\+0\|define\)\)\>.*'
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
35 let s:sectionend = '\s*)\s*'
5815
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
36
29779
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
37 function! s:SearchSection(end, backwards, visualmode) abort
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
38 if a:visualmode !=# ''
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
39 normal! gv
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
40 endif
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
41 let l:flags = a:backwards ? 'bsW' : 'sW'
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
42 if a:end
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
43 call search('^' . s:sectionend . (a:backwards ? '\n\_.\{-}\%#' : '$'), l:flags)
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
44 else
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
45 call search('^' . s:sectionstart . (a:backwards ? '\n\_.\{-}\%#' : '$'), l:flags)
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
46 endif
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
47 endfunction
5815
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
48
29779
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
49 noremap <buffer> <silent> ]] :<C-U>call <SID>SearchSection(0, 0, '')<CR>
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
50 xnoremap <buffer> <silent> ]] :<C-U>call <SID>SearchSection(0, 0, visualmode())<CR>
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
51 sunmap <buffer> ]]
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
52 noremap <buffer> <silent> ][ :<C-U>call <SID>SearchSection(1, 0, '')<CR>
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
53 xnoremap <buffer> <silent> ][ :<C-U>call <SID>SearchSection(1, 0, visualmode())<CR>
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
54 sunmap <buffer> ][
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
55 noremap <buffer> <silent> [[ :<C-U>call <SID>SearchSection(0, 1, '')<CR>
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
56 xnoremap <buffer> <silent> [[ :<C-U>call <SID>SearchSection(0, 1, visualmode())<CR>
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
57 sunmap <buffer> [[
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
58 noremap <buffer> <silent> [] :<C-U>call <SID>SearchSection(1, 1, '')<CR>
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
59 xnoremap <buffer> <silent> [] :<C-U>call <SID>SearchSection(1, 1, visualmode())<CR>
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
60 sunmap <buffer> []
5815
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
61
29779
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
62 let b:undo_ftplugin .= ' | silent! execute "unmap <buffer> ]]"'
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
63 \ . ' | silent! execute "unmap <buffer> ]["'
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
64 \ . ' | silent! execute "unmap <buffer> [["'
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
65 \ . ' | silent! execute "unmap <buffer> []"'
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
66 endif
5815
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
67
29779
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
68 " Browse dialog filter on Windows and GTK (see ":help browsefilter")
90a966f5c77a Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 18639
diff changeset
69 if (has('gui_win32') || has('gui_gtk')) && !exists('b:browsefilter')
5815
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
70 let b:browsefilter = "J Script Files (*.ijs)\t*.ijs\n"
34134
8ae680be2a51 runtime(ftplugin): Use "*" browsefilter pattern to match "All Files"
Christian Brabandt <cb@256bit.org>
parents: 29779
diff changeset
71 if has("win32")
8ae680be2a51 runtime(ftplugin): Use "*" browsefilter pattern to match "All Files"
Christian Brabandt <cb@256bit.org>
parents: 29779
diff changeset
72 let b:browsefilter .= "All Files (*.*)\t*\n"
8ae680be2a51 runtime(ftplugin): Use "*" browsefilter pattern to match "All Files"
Christian Brabandt <cb@256bit.org>
parents: 29779
diff changeset
73 else
8ae680be2a51 runtime(ftplugin): Use "*" browsefilter pattern to match "All Files"
Christian Brabandt <cb@256bit.org>
parents: 29779
diff changeset
74 let b:browsefilter .= "All Files (*)\t*\n"
8ae680be2a51 runtime(ftplugin): Use "*" browsefilter pattern to match "All Files"
Christian Brabandt <cb@256bit.org>
parents: 29779
diff changeset
75 endif
5815
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
76 let b:undo_ftplugin .= ' | unlet! b:browsefilter'
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
77 endif
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
78
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
79 " Enhanced "%" matching (see ":help matchit")
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
80 if exists('loaded_matchit') && !exists('b:match_words')
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
81 let b:match_ignorecase = 0
6505
198e1e498edf Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5815
diff changeset
82 let b:match_words = '^\%(\s*Note\|.\{-}\<\%([0-4]\|13\|noun\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(\:\s*0\|def\s\+0\|define\)\)\>:^\s*\:\s*$:^\s*)\s*$'
5815
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
83 \ . ',\<\%(for\%(_\a\k*\)\=\|if\|select\|try\|whil\%(e\|st\)\)\.:\<\%(case\|catch[dt]\=\|else\%(if\)\=\|fcase\)\.:\<end\.'
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
84 let b:undo_ftplugin .= ' | unlet! b:match_ignorecase b:match_words'
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
85 endif
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
86
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
87 let &cpo = s:save_cpo
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
88 unlet s:save_cpo