vim-patch:9.1.0396: filetype: jj files are not recognized (#28672)

Problem:  jj files are not recognized
Solution: recognize '*.jjdescription' files as jj filetype
          (Gregory Anders)

See: https://github.com/martinvonz/jj

closes: vim/vim#14733

6a4ea471d2
This commit is contained in:
Gregory Anders 2024-05-08 18:39:18 -05:00 committed by GitHub
parent 9b1628da98
commit d3fa88b70f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 41 additions and 0 deletions

19
runtime/ftplugin/jj.vim Normal file
View File

@ -0,0 +1,19 @@
" Vim filetype plugin
" Language: jj description
" Maintainer: Gregory Anders <greg@gpanders.com>
" Last Change: 2024 May 8
if exists('b:did_ftplugin')
finish
endif
let b:did_ftplugin = 1
" Use the same formatoptions and textwidth as the gitcommit ftplugin
setlocal nomodeline formatoptions+=tl textwidth=72
setlocal formatoptions-=c formatoptions-=r formatoptions-=o formatoptions-=q formatoptions+=n
setlocal formatlistpat=^\\s*\\d\\+[\\]:.)}]\\s\\+\\\|^\\s*[-*+]\\s\\+
setlocal comments=b:JJ:
setlocal commentstring=JJ:\ %s
let b:undo_ftplugin = 'setl modeline< formatoptions< textwidth< formatlistpat< comments< commentstring<'

View File

@ -570,6 +570,7 @@ local extension = {
jsx = 'javascriptreact',
clp = 'jess',
jgr = 'jgraph',
jjdescription = 'jj',
j73 = 'jovial',
jov = 'jovial',
jovial = 'jovial',

20
runtime/syntax/jj.vim Normal file
View File

@ -0,0 +1,20 @@
" Vim syntax file
" Language: jj description
" Maintainer: Gregory Anders <greg@gpanders.com>
" Last Change: 2024 May 8
if exists('b:current_syntax')
finish
endif
let b:current_syntax = 'jj'
syn match jjAdded "A .*" contained
syn match jjRemoved "D .*" contained
syn match jjChanged "M .*" contained
syn region jjComment start="^JJ: " end="$" contains=jjAdded,jjRemoved,jjChanged
hi def link jjComment Comment
hi def link jjAdded Added
hi def link jjRemoved Removed
hi def link jjChanged Changed

View File

@ -360,6 +360,7 @@ func s:GetFilenameChecks() abort
\ 'javascriptreact': ['file.jsx'],
\ 'jess': ['file.clp'],
\ 'jgraph': ['file.jgr'],
\ 'jj': ['file.jjdescription'],
\ 'jq': ['file.jq'],
\ 'jovial': ['file.jov', 'file.j73', 'file.jovial'],
\ 'jproperties': ['file.properties', 'file.properties_xx', 'file.properties_xx_xx', 'some.properties_xx_xx_file', 'org.eclipse.xyz.prefs'],