tisp.vim

vim configuration for the tisp langauge
git clone git://edryd.org/tisp.vim
Log | Files | Refs

commit f42e9b89effe1b6c50c1c96dd26cd11b71635eb6
parent 1acfdb594354ef2332d8df4c97eb1bd38ae8871a
Author: Ed van Bruggen <ed@edryd.org>
Date:   Sun, 20 Jul 2025 00:27:16 -0700

Rename to eevo

Diffstat:
Mftdetect/tisp.vim | 3++-
Mftplugin/tisp.vim | 4++--
Mindent/tisp.vim | 4++--
Msyntax/tisp.vim | 156++++++++++++++++++++++++++++++++++++++++++--------------------------------------
4 files changed, 88 insertions(+), 79 deletions(-)

diff --git a/ftdetect/tisp.vim b/ftdetect/tisp.vim @@ -1 +1,2 @@ -au BufRead,BufNewFile *.tsp set filetype=tisp +au BufRead,BufNewFile *.evo set filetype=eevo +au BufRead,BufNewFile *.eevo set filetype=eevo diff --git a/ftplugin/tisp.vim b/ftplugin/tisp.vim @@ -1,7 +1,7 @@ " Vim filetype plugin -" Language: tisp +" Language: eevo " Author: Ed van Bruggen <ed@edryd.org> -" URL: edryd.org/projects/tisp +" URL: eevo.pub if exists("b:did_ftplugin") finish diff --git a/indent/tisp.vim b/indent/tisp.vim @@ -1,7 +1,7 @@ " Vim filetype plugin -" Language: tisp +" Language: eevp " Author: Ed van Bruggen <ed@edryd.org> -" URL: edryd.org/projects/tisp +" URL: eevo.pub if exists("b:did_indent") finish diff --git a/syntax/tisp.vim b/syntax/tisp.vim @@ -1,7 +1,7 @@ " Vim syntax file -" Language: tisp +" Language: eevo " Author: Ed van Bruggen <ed@edryd.org> -" URL: edryd.org/projects/tisp +" URL: eevo.pub if version < 600 syntax clear @@ -10,7 +10,7 @@ elseif exists("b:current_syntax") endif " highlight unmatched parens -syn match tispError '[]})]' +syn match eevoError '[]})]' if version < 600 set iskeyword=33,35-39,42-58,60-90,94,95,97-122,126,_ @@ -19,89 +19,97 @@ else endif " built-ins -syn keyword tispSyntax cons quote quasiquote unquote do do0 eval cond -syn keyword tispSyntax set! def defmacro Func Macro load quit error assert -syn keyword tispSyntax if else when unless let recur switch -syn keyword tispSyntax not and or nand nor -syn keyword tispSyntax typeof Void Bool Pair Int Dec Str Sym get +syn keyword eevoSyntax quote quasiquote unquote do do0 eval cond records +syn keyword eevoSyntax def defmacro Func Macro load quit error assert procprops +syn keyword eevoSyntax if else when unless let recur switch undefine! defined? +" TODO color operators differently +syn keyword eevoSyntax not and or nand nor +syn keyword eevoSyntax typeof Void Bool Pair Int Dec Str Sym " functions -syn keyword tispFunc any? nil? empty? void? atom? string? symbol? pair? cons? list? -syn keyword tispFunc function? specialform? primitive? macro? builtin? procedure? -syn keyword tispFunc integer? ratio? decimal? rational? number? -syn keyword tispFunc boolean? true? false? -syn keyword tispFunc version repl ans doc default +syn keyword eevoFunc any? nil? empty? void? atom? string? symbol? pair? cons? list? +syn keyword eevoFunc function? specialform? primitive? macro? builtin? procedure? record? +syn keyword eevoFunc integer? ratio? decimal? rational? number? +syn keyword eevoFunc boolean? true? false? +syn keyword eevoFunc version repl ans doc default " math -syn keyword tispFunc + - * / ^ mod ! = /= < <= = > >= -syn keyword tispFunc inc dec round truncate floor ceiling -syn keyword tispFunc sqr cube root sqrt cbrt exp log log10 logb -syn keyword tispFunc abs sgn max min numerator denominator dot norm -syn keyword tispFunc sin sinh cos cosh tan tanh -syn keyword tispFunc arcsin arcsinh arccos arccosh arctan arctanh -syn keyword tispFunc csc csch sec sech cot coth -syn keyword tispFunc arccsc arccsch arcsec arcsech arccot arccoth -syn keyword tispFunc negative? positive? zero? even? odd? +syn keyword eevoFunc + - * / ^ *^ mod ! = /= < <= = > >= +syn keyword eevoFunc inc dec round truncate floor ceiling +syn keyword eevoFunc sqr cube root sqrt cbrt exp log log10 logb +syn keyword eevoFunc abs sgn max min numerator denominator dot norm +syn keyword eevoFunc sin sinh cos cosh tan tanh +syn keyword eevoFunc arcsin arcsinh arccos arccosh arctan arctanh +syn keyword eevoFunc csc csch sec sech cot coth +syn keyword eevoFunc arccsc arccsch arcsec arcsech arccot arccoth +syn keyword eevoFunc negative? positive? zero? even? odd? +syn keyword eevoFunc half double factorial gcd deg rad " i/o -syn keyword tispFunc read parse write save open run print println display displayln newline -syn keyword tispNumber stdout stderr +syn keyword eevoFunc read parse write print println display displayln newline printerr printerrln +syn keyword eevoNumber stdout stderr " os -syn keyword tispFunc cd! pwd now time +syn keyword eevoFunc cd! pwd now time " list -syn keyword tispFunc list list* length last nth head tail count -syn keyword tispFunc apply map convert assoc filter keep remove memp member everyp? every? -syn keyword tispFunc compose reverse append zip +syn keyword eevoFunc list list* length last nth head tail count +syn keyword eevoFunc apply map convert assoc filter keep remove memp member everyp? every? +syn keyword eevoFunc compose reverse append zip " stack -syn keyword tispFunc push push! pop pop! peek swap swap! +syn keyword eevoFunc push pop peek swap -" cxr -syn keyword tispFunc car cdr caar cadr cdar cddr caaar caadr cadar caddr cdaar -syn keyword tispFunc cdadr cddar cdddr caaaar caaadr caadar caaddr cadaar -syn keyword tispFunc cadadr caddar cadddr cdaaar cdaadr cdadar cdaddr cddaar -syn keyword tispFunc cddadr cdddar cddddr first rest -syn keyword tispFunc second third forth fifth sixth seventh eighth ninth tenth +" first and rest +syn keyword eevoFunc fst rst snd ffst rfst rrst +syn keyword eevoFunc fffst ffrst frfst frrst rffst rfrst rrfst rrrst + +" string +syn keyword eevoFunc strfmt split " lambda sign -" syn match tispSyntax /\<[\u03bb]\>/ +" syn match eevoSyntax /\<[\u03bb]\>/ + +" TODO : and [] as sym end -syn region tispString start='\%(\\\)\@<!"' skip='\\[\\"]' end='"' contains=@Spell +" TODO highlight escape sequences +syn region eevoString start='\%(\\\)\@<!"' skip='\\[\\"]' end='"' contains=@Spell -syn match tispComment ';.*$' contains=tispTodo,tispNote,@Spell -syn keyword tispTodo FIXME TODO XXX contained -syn keyword tispNote '\CNOTE\ze:\?' contained +" TODO ;;; for section title +syn match eevoComment ';.*$' contains=eevoTodo,eevoNote,@Spell +syn keyword eevoTodo FIXME TODO XXX contained +syn keyword eevoNote '\CNOTE\ze:\?' contained -syn match tispDelimiter '\<\.\>' +syn match eevoDelimiter '\<\.\>' +" syn match eevoDelimiter ':\+' -syn keyword tispNumber e pi tau -syn match tispNumber "[+-]\=\(\.\d\+\|\d\+\(\.\d*\)\=\)\([eE][-+]\=\d\+\)\=" -syn match tispNumber "[+-]\=\(\d\+/\d\+\)" +syn keyword eevoNumber e pi tau +syn match eevoNumber "\<[+-]\=\(\.\d\+\|\d\+\(\.\d*\)\=\)\([eE][-+]\=\d\+\)\=\>" +" syn match eevoNumber "[+-]\=\(\d\+/\d\+\)" +syn match eevoNumber "0[xX][0-9a-fA-F]\+" -syn match tispSymbol ,\k+, contained +syn match eevoSymbol ,\k+, contained -syn keyword tispBoolean True () Nil False it +syn keyword eevoBoolean True () Nil False it -syn cluster tispNormal contains=tispSyntax,tispFunc,tispDelimiter -syn cluster tispQuotedStuff contains=tispSymbol -syn cluster tispQuotedOrNormal contains=tispDelimiter +syn cluster eevoNormal contains=eevoSyntax,eevoFunc,eevoDelimiter +syn cluster eevoQuotedStuff contains=eevoSymbol +syn cluster eevoQuotedOrNormal contains=eevoDelimiter -syn region tispStruc matchgroup=Delimiter start="(" matchgroup=Delimiter end=")" contains=ALL -syn region tispQuoted matchgroup=Delimiter start="['`]" end=![ \t()";]!me=e-1 contains=ALL +syn region eevoStruc matchgroup=Delimiter start="(" matchgroup=Delimiter end=")" contains=ALL +syn region eevoQuoted matchgroup=Delimiter start="['`]" end=![ \t()";]!me=e-1 contains=ALL -syn region tispQuoted matchgroup=Delimiter start="['`](" matchgroup=Delimiter end=")" contains=ALL +syn region eevoQuoted matchgroup=Delimiter start="['`](" matchgroup=Delimiter end=")" contains=ALL -syn region tispUnquote matchgroup=Delimiter start="," end=![ \t()";]!me=e-1 contains=ALL -syn region tispUnquote matchgroup=Delimiter start=",@" end=![ \t()";]!me=e-1 contains=ALL +syn region eevoUnquote matchgroup=Delimiter start="," end=![ \t()";]!me=e-1 contains=ALL +syn region eevoUnquote matchgroup=Delimiter start=",@" end=![ \t()";]!me=e-1 contains=ALL -syn region tispUnquote matchgroup=Delimiter start=",(" end=")" contains=ALL -syn region tispUnquote matchgroup=Delimiter start=",@(" end=")" contains=ALL +syn region eevoUnquote matchgroup=Delimiter start=",(" end=")" contains=ALL +syn region eevoUnquote matchgroup=Delimiter start=",@(" end=")" contains=ALL " Comments -syn cluster tispNormal add=tispQuoted,tispComment -syn cluster tispQuotedOrNormal add=tispComment +syn cluster eevoNormal add=eevoQuoted,eevoComment +syn cluster eevoQuotedOrNormal add=eevoComment " Synchronization and the wrapping up... @@ -109,25 +117,25 @@ syn sync match matchPlace grouphere NONE "^[^ \t]" " ... i.e. synchronize on a line that starts at the left margin " Define the default highlighting. -hi def link tispSyntax Statement -hi def link tispFunc Function +hi def link eevoSyntax Statement +hi def link eevoFunc Function -hi def link tispString String -hi def link tispChar Character -hi def link tispBoolean Boolean +hi def link eevoString String +hi def link eevoChar Character +hi def link eevoBoolean Boolean -hi def link tispNumber Number -hi def link tispNumberError Error +hi def link eevoNumber Number +hi def link eevoNumberError Error -hi def link tispQuoted Structure -hi def link tispSymbol Structure +hi def link eevoQuoted Structure +hi def link eevoSymbol Structure -hi def link tispDelimiter Delimiter -hi def link tispConstant Constant +hi def link eevoDelimiter Delimiter +hi def link eevoConstant Constant -hi def link tispComment Comment -hi def link tispTodo Todo -hi def link tispNote SpecialComment -hi def link tispError Error +hi def link eevoComment Comment +hi def link eevoTodo Todo +hi def link eevoNote SpecialComment +hi def link eevoError Error -let b:current_syntax = "tisp" +let b:current_syntax = "eevo"