]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.1.0396: filetype: jj files are not recognized v9.1.0396
authorGregory Anders <greg@gpanders.com>
Wed, 8 May 2024 18:17:43 +0000 (20:17 +0200)
committerChristian Brabandt <cb@256bit.org>
Wed, 8 May 2024 18:17:43 +0000 (20:17 +0200)
Problem:  jj files are not recognized
Solution: recognize '*.jjdescription' files as jj filetype
          (Gregory Anders)

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

closes: #14733

Signed-off-by: Gregory Anders <greg@gpanders.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
.github/MAINTAINERS
runtime/filetype.vim
runtime/ftplugin/jj.vim [new file with mode: 0644]
runtime/syntax/jj.vim [new file with mode: 0644]
src/testdir/test_filetype.vim
src/version.c

index ac41ed5678d26c26881a96c92064f19b2485e5fa..36b352ffbf6b24a90e6269211e9c761d9329290e 100644 (file)
@@ -161,6 +161,7 @@ runtime/ftplugin/j.vim                      @glts
 runtime/ftplugin/java.vim              @zzzyxwvut
 runtime/ftplugin/javascript.vim                @dkearns
 runtime/ftplugin/javascriptreact.vim   @dkearns
+runtime/ftplugin/jj.vim                        @gpanders
 runtime/ftplugin/json.vim              @dbarnett
 runtime/ftplugin/json5.vim             @dkearns
 runtime/ftplugin/jsonc.vim             @izhakjakov
@@ -406,6 +407,7 @@ runtime/syntax/j.vim                        @glts
 runtime/syntax/jargon.vim              @h3xx
 runtime/syntax/java.vim                        @zzzyxwvut
 runtime/syntax/javascript.vim          @fleiner
+runtime/syntax/jj.vim                  @gpanders
 runtime/syntax/json.vim                        @vito-c
 runtime/syntax/jsonc.vim               @izhakjakov
 runtime/syntax/julia.vim               @carlobaldassi
index 927230d4ff8fd5227b43046e464b2512805433a2..f45866cb825373553a558510b1db3fb8e863f622 100644 (file)
@@ -1148,6 +1148,9 @@ au BufNewFile,BufRead *.clp                       setf jess
 " Jgraph
 au BufNewFile,BufRead *.jgr                    setf jgraph
 
+" Jujutsu
+au BufNewFile,BufRead *.jjdescription          setf jj
+
 " Jovial
 au BufNewFile,BufRead *.jov,*.j73,*.jovial     setf jovial
 
diff --git a/runtime/ftplugin/jj.vim b/runtime/ftplugin/jj.vim
new file mode 100644 (file)
index 0000000..cc5d700
--- /dev/null
@@ -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<'
diff --git a/runtime/syntax/jj.vim b/runtime/syntax/jj.vim
new file mode 100644 (file)
index 0000000..a2911a0
--- /dev/null
@@ -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
index 4a2a25e7cdd7ec3c8c40f6491cb212e88444bf56..c98bb56df263dd21538d5a0a37ff7d3e48981188 100644 (file)
@@ -359,6 +359,7 @@ def s:GetFilenameChecks(): dict<list<string>>
     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'],
index 0e6ac314ed9cd0eb45f59c2dca9a0f870550b972..8dd6d18c090c42bfd727476e61d57be8cdf82d96 100644 (file)
@@ -704,6 +704,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    396,
 /**/
     395,
 /**/