summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Iannetta <paul.iannetta@ens-lyon.fr>2022-04-13 19:04:32 +0200
committerPaul Iannetta <paul.iannetta@ens-lyon.fr>2022-04-13 19:05:40 +0200
commit4794538a95f4af84b812e69d3061a8988b402d6f (patch)
treeeaaf3fc99ce72b868ef50882deff095a6869f9f1
parent686b029807fbe46a3f54e83472822ad96139ac02 (diff)
add some custom syntax files to nvim
-rwxr-xr-x.config/nvim/ftdetect/antlr.vim3
-rwxr-xr-x.config/nvim/ftdetect/bib.vim1
-rwxr-xr-x[-rw-r--r--].config/nvim/ftdetect/texlog.vim0
-rwxr-xr-x.config/nvim/syntax/antlr3.vim91
-rwxr-xr-x.config/nvim/syntax/antlr4.vim76
-rwxr-xr-x[-rw-r--r--].config/nvim/syntax/meson.vim0
-rwxr-xr-x[-rw-r--r--].config/nvim/syntax/msmtp.vim0
-rwxr-xr-x[-rw-r--r--].config/nvim/syntax/nginx.vim0
-rwxr-xr-x[-rw-r--r--].config/nvim/syntax/tex.vim0
-rwxr-xr-x[-rw-r--r--].config/nvim/syntax/texlog.vim0
10 files changed, 171 insertions, 0 deletions
diff --git a/.config/nvim/ftdetect/antlr.vim b/.config/nvim/ftdetect/antlr.vim
new file mode 100755
index 0000000..1773425
--- /dev/null
+++ b/.config/nvim/ftdetect/antlr.vim
@@ -0,0 +1,3 @@
+au BufRead,BufNewFile *.g set filetype=antlr3
+au BufRead,BufNewFile *.g4 set filetype=antlr4
+
diff --git a/.config/nvim/ftdetect/bib.vim b/.config/nvim/ftdetect/bib.vim
new file mode 100755
index 0000000..2e10113
--- /dev/null
+++ b/.config/nvim/ftdetect/bib.vim
@@ -0,0 +1 @@
+au BufRead *bib set ft=bib
diff --git a/.config/nvim/ftdetect/texlog.vim b/.config/nvim/ftdetect/texlog.vim
index 65928b5..65928b5 100644..100755
--- a/.config/nvim/ftdetect/texlog.vim
+++ b/.config/nvim/ftdetect/texlog.vim
diff --git a/.config/nvim/syntax/antlr3.vim b/.config/nvim/syntax/antlr3.vim
new file mode 100755
index 0000000..10e24e5
--- /dev/null
+++ b/.config/nvim/syntax/antlr3.vim
@@ -0,0 +1,91 @@
+" vim: ts=8
+" Vim syntax file
+" Language: ANTLRv3
+" Maintainer: Jörn Horstmann (updated by Davyd Madeley)
+" Last Change: 2008-11-21
+
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if version < 600
+ syntax clear
+elseif exists("b:current_syntax")
+ finish
+endif
+
+syn keyword antlrKeyword grammar lexer parser tree header members options fragment returns throws scope init
+
+syn match antlrCharacter '\\\(r\|n\|t\|f\|b\|"\|\'\|\\\|u\x\{4}\)' contained display
+
+syn match antlrToken "\<[A-Z_][a-zA-Z_0-9]\+\>"
+syn match antlrRule "[a-z][a-zA-Z_0-9]\+"
+syn match antlrScopeVariable '$\k\+::\k\+'
+
+syn match antlrOperator "[:;@.]"
+syn match antlrOperator "[()]"
+syn match antlrOperator "[?+*~|!]"
+syn match antlrOperator "[->=^]"
+
+syn match antlrBrace "[{}]"
+syn match antlrBrace "[\[\]]"
+syn region antlrAction matchgroup=antlrBrace start="[{\[]" end="[}\]]" contains=antlrVariable,antlrLiteral,antlrComment
+syn match antlrVariable contained "$[a-zA-Z][a-zA-Z_0-9]*"
+
+syn region antlrLiteral start=+'+ end=+'+ contains=antlrCharacter
+syn region antlrLiteral start=+"+ end=+"+ contains=antlrCharacter
+
+syn region antlrComment start="/\*" end="\*/"
+syn match antlrComment "//.*$"
+
+" Define the default highlighting.
+" For version 5.7 and earlier: only when not done already
+" For version 5.8 and later: only when an item doesn't have highlighting yet
+if version >= 508
+ if version < 508
+ let did_antlr_syntax_inits = 1
+ command -nargs=+ HiLink hi link <args>
+ else
+ command -nargs=+ HiLink hi def link <args>
+ endif
+
+ HiLink antlrLiteral String
+ hi def antlrVariable term=bold cterm=bold gui=bold
+ HiLink antlrBrace Operator
+ HiLink antlrCharacter Special
+ HiLink antlrComment Comment
+ HiLink antlrOperator Operator
+ HiLink antlrKeyword Keyword
+ HiLink antlrToken PreProc
+ HiLink antlrScopeVariable Identifier
+ HiLink antlrRule Type
+
+ delcommand HiLink
+endif
+
+" try to figure out the target language
+let target_languages = []
+" can we figure out from the file name
+let extensions = split(expand('%:t'), '\.')
+if len(extensions) >= 3
+ " great.. the target language was provided via file name
+ call add(target_languages, tolower(extensions[-2]))
+else
+ " no multiple extensions... have to figure out from the content
+ let buffer = join(getline(1, line('$')), "\n")
+ let antlr_options = matchstr(buffer, '\m\(\_s\|;\)options\_s\+{\_.\{-\}}')
+ call substitute(antlr_options, '\mlanguage\_s*=\_s*''\?\(.\{-\}\)''\?\_s*;', '\=add(target_languages, tolower(submatch(1)))', 'g')
+endif
+if exists('target_languages[-1]')
+ " the last defined target language takes precendece
+ let lang=target_languages[-1]
+ let syntax_file = findfile('syntax/' . lang . '.vim', &rtp, 1)
+ if syntax_file != ''
+ " if a valid syntax file was found only
+ let b:current_syntax = ''
+ unlet b:current_syntax
+ let region_name = '@' . lang . 'Language'
+ exe 'syntax include ' . region_name . ' ' . syntax_file
+ exe 'syntax region ' . lang . ' start="{" end="}" keepend contains=' . region_name
+ endif
+endif
+
+let b:current_syntax = "antlr3"
diff --git a/.config/nvim/syntax/antlr4.vim b/.config/nvim/syntax/antlr4.vim
new file mode 100755
index 0000000..6f41e4a
--- /dev/null
+++ b/.config/nvim/syntax/antlr4.vim
@@ -0,0 +1,76 @@
+" vim: ts=8
+" Vim syntax file
+" Language: ANTLRv4
+" Maintainer: Jörn Horstmann (updated by Dylon Edwards)
+" Last Change: 2015-12-15
+
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if version < 600
+ syntax clear
+elseif exists("b:current_syntax")
+ finish
+endif
+
+syn keyword antlrKeyword import fragment lexer parser grammar returns locals throws catch finally mode options tokens header members init after channels mode protected public private
+
+syn keyword antlrReserved rule
+
+syn match antlrCharacter '\\\(r\|n\|t\|f\|b\|"\|\'\|\\\|u\x\{4}\)' contained display
+
+syn match antlrToken "\<[A-Z_][a-zA-Z_0-9]\+\>"
+syn match antlrRule "[a-z][a-zA-Z_0-9]\+"
+syn match antlrScopeVariable '$\k\+::\k\+'
+
+syn match antlrOperator "[:;@.]"
+syn match antlrOperator "[()]"
+syn match antlrOperator "[?+*~|!]"
+syn match antlrOperator "[->=^]"
+
+syn match antlrBlock "[{}]"
+syn region antlrAction matchgroup=antlrBlock start="{" end="}" contains=antlrVariable,antlrAction
+syn match antlrVariable contained "$[a-zA-Z][a-zA-Z_0-9]*"
+
+syn include @PYTHON syntax/python.vim
+syn region ANTLR4EmbeddedPythonAction matchgroup=antlrBlock start="{" end="}" contains=@PYTHON,antlrVariable containedin=antlrAction
+
+syn keyword antlrOperations pushMode popMode skip channel
+
+syn match antlrBrace "[\[\]]"
+syn region antlrCharClass matchgroup=antlrBrace start="\[" end="\]" contains=antlrCharacter
+
+syn region antlrLiteral start=+'+ end=+'+ contains=antlrCharacter
+syn region antlrLiteral start=+"+ end=+"+ contains=antlrCharacter
+
+syn region antlrComment start="/\*" end="\*/"
+syn match antlrComment "//.*$"
+
+" Define the default highlighting.
+" For version 5.7 and earlier: only when not done already
+" For version 5.8 and later: only when an item doesn't have highlighting yet
+if version >= 508
+ if version < 508
+ let did_antlr_syntax_inits = 1
+ command -nargs=+ HiLink hi link <args>
+ else
+ command -nargs=+ HiLink hi def link <args>
+ endif
+
+ HiLink antlrReserved Error
+ HiLink antlrOperations Identifier
+ HiLink antlrLiteral String
+ hi def antlrVariable term=bold cterm=bold gui=bold
+ HiLink antlrBrace Operator
+ HiLink antlrBlock Operator
+ HiLink antlrCharacter Special
+ HiLink antlrComment Comment
+ HiLink antlrOperator Operator
+ HiLink antlrKeyword Keyword
+ HiLink antlrToken PreProc
+ HiLink antlrScopeVariable Identifier
+ HiLink antlrRule Type
+
+ delcommand HiLink
+endif
+
+let b:current_syntax = "antlr4"
diff --git a/.config/nvim/syntax/meson.vim b/.config/nvim/syntax/meson.vim
index 85acf43..85acf43 100644..100755
--- a/.config/nvim/syntax/meson.vim
+++ b/.config/nvim/syntax/meson.vim
diff --git a/.config/nvim/syntax/msmtp.vim b/.config/nvim/syntax/msmtp.vim
index 673c6af..673c6af 100644..100755
--- a/.config/nvim/syntax/msmtp.vim
+++ b/.config/nvim/syntax/msmtp.vim
diff --git a/.config/nvim/syntax/nginx.vim b/.config/nvim/syntax/nginx.vim
index c8cccb9..c8cccb9 100644..100755
--- a/.config/nvim/syntax/nginx.vim
+++ b/.config/nvim/syntax/nginx.vim
diff --git a/.config/nvim/syntax/tex.vim b/.config/nvim/syntax/tex.vim
index 9b5d8a2..9b5d8a2 100644..100755
--- a/.config/nvim/syntax/tex.vim
+++ b/.config/nvim/syntax/tex.vim
diff --git a/.config/nvim/syntax/texlog.vim b/.config/nvim/syntax/texlog.vim
index 409c8a1..409c8a1 100644..100755
--- a/.config/nvim/syntax/texlog.vim
+++ b/.config/nvim/syntax/texlog.vim