Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
logtalk.vim457 linesDownload Raw Back to syntax
1" Vim syntax file2"3" Language:	Logtalk4" Maintainer:   Paulo Moura <pmoura@logtalk.org>5" Last Change:  October 6, 20256 7 8 9" quit when a syntax file was already loaded10if exists("b:current_syntax")11	finish12endif13 14let s:cpo_save = &cpo15set cpo&vim16 17" Logtalk is case sensitive:18 19syn case match20 21 22" Logtalk variables23 24syn match   logtalkVariable		"\<\(\u\|_\)\(\w\)*\>"25 26 27" Logtalk clause functor28 29syn match	logtalkOperator		":-"30 31 32" Logtalk quoted atoms and strings33 34syn region	logtalkString		start=+"+	skip=+\\"+	end=+"+		contains=logtalkEscapeSequence35syn region	logtalkAtom		start=+'+	skip=+\\'+	end=+'+		contains=logtalkEscapeSequence36 37syn match	logtalkEscapeSequence	contained	"\\\([\\abfnrtv\"\']\|\(x[a-fA-F0-9]\+\|[0-7]\+\)\\\)"38 39 40" Logtalk message-sending operators41 42syn match	logtalkOperator		"::"43syn match	logtalkOperator		"\(0'\)\@<!:"44syn match	logtalkOperator		"\^\^"45 46 47" Logtalk external call48 49syn region	logtalkExtCall		matchgroup=logtalkExtCallTag		start="{"		matchgroup=logtalkExtCallTag		end="}"		contains=ALL50 51 52" Logtalk opening entity directives53 54syn region	logtalkOpenEntityDir	matchgroup=logtalkOpenEntityDirTag	start=":- object("	matchgroup=logtalkOpenEntityDirTag	end=")\."	contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator,logtalkString,logtalkAtom,logtalkEntityRel,logtalkLineComment55syn region	logtalkOpenEntityDir	matchgroup=logtalkOpenEntityDirTag	start=":- protocol("	matchgroup=logtalkOpenEntityDirTag	end=")\."	contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator,logtalkEntityRel,logtalkLineComment56syn region	logtalkOpenEntityDir	matchgroup=logtalkOpenEntityDirTag	start=":- category("	matchgroup=logtalkOpenEntityDirTag	end=")\."	contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator,logtalkEntityRel,logtalkLineComment57 58 59" Logtalk closing entity directives60 61syn match	logtalkCloseEntityDir	":- end_object\."62syn match	logtalkCloseEntityDir	":- end_protocol\."63syn match	logtalkCloseEntityDir	":- end_category\."64 65 66" Logtalk entity relations67 68syn region	logtalkEntityRel	matchgroup=logtalkEntityRelTag	start="instantiates("	matchgroup=logtalkEntityRelTag	end=")"		contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator,logtalkString,logtalkAtom	contained69syn region	logtalkEntityRel	matchgroup=logtalkEntityRelTag	start="specializes("	matchgroup=logtalkEntityRelTag	end=")"		contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator,logtalkString,logtalkAtom	contained70syn region	logtalkEntityRel	matchgroup=logtalkEntityRelTag	start="extends("	matchgroup=logtalkEntityRelTag	end=")"		contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator,logtalkString,logtalkAtom	contained71syn region	logtalkEntityRel	matchgroup=logtalkEntityRelTag	start="imports("	matchgroup=logtalkEntityRelTag	end=")"		contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator,logtalkString,logtalkAtom	contained72syn region	logtalkEntityRel	matchgroup=logtalkEntityRelTag	start="implements("	matchgroup=logtalkEntityRelTag	end=")"		contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator,logtalkString,logtalkAtom	contained73syn region	logtalkEntityRel	matchgroup=logtalkEntityRelTag	start="complements("	matchgroup=logtalkEntityRelTag	end=")"		contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator,logtalkString,logtalkAtom	contained74 75 76" Logtalk directives77 78syn region	logtalkDir		matchgroup=logtalkDirTag	start=":- if("			matchgroup=logtalkDirTag	end=")\."	contains=ALL79syn region	logtalkDir		matchgroup=logtalkDirTag	start=":- elif("		matchgroup=logtalkDirTag	end=")\."	contains=ALL80syn match	logtalkDirTag		":- else\."81syn match	logtalkDirTag		":- endif\."82syn region	logtalkDir		matchgroup=logtalkDirTag	start=":- alias("		matchgroup=logtalkDirTag	end=")\."	contains=ALL83syn region	logtalkDir		matchgroup=logtalkDirTag	start=":- coinductive("		matchgroup=logtalkDirTag	end=")\."	contains=ALL84syn region	logtalkDir		matchgroup=logtalkDirTag	start=":- encoding("		matchgroup=logtalkDirTag	end=")\."	contains=ALL85syn region	logtalkDir		matchgroup=logtalkDirTag	start=":- initialization("	matchgroup=logtalkDirTag	end=")\."	contains=ALL86syn region	logtalkDir		matchgroup=logtalkDirTag	start=":- info("		matchgroup=logtalkDirTag	end=")\."	contains=ALL87syn region	logtalkDir		matchgroup=logtalkDirTag	start=":- mode("		matchgroup=logtalkDirTag	end=")\."	contains=logtalkOperator, logtalkAtom88syn region	logtalkDir		matchgroup=logtalkDirTag	start=":- mode_non_terminal("		matchgroup=logtalkDirTag	end=")\."	contains=logtalkOperator, logtalkAtom89syn region	logtalkDir		matchgroup=logtalkDirTag	start=":- dynamic("		matchgroup=logtalkDirTag	end=")\."	contains=ALL90syn match	logtalkDirTag		":- built_in\."91syn match	logtalkDirTag		":- dynamic\."92syn region	logtalkDir		matchgroup=logtalkDirTag	start=":- discontiguous("	matchgroup=logtalkDirTag	end=")\."	contains=ALL93syn region	logtalkDir		matchgroup=logtalkDirTag	start=":- multifile("		matchgroup=logtalkDirTag	end=")\."	contains=ALL94syn region	logtalkDir		matchgroup=logtalkDirTag	start=":- public("		matchgroup=logtalkDirTag	end=")\."	contains=ALL95syn region	logtalkDir		matchgroup=logtalkDirTag	start=":- protected("		matchgroup=logtalkDirTag	end=")\."	contains=ALL96syn region	logtalkDir		matchgroup=logtalkDirTag	start=":- private("		matchgroup=logtalkDirTag	end=")\."	contains=ALL97syn region	logtalkDir		matchgroup=logtalkDirTag	start=":- meta_predicate("	matchgroup=logtalkDirTag	end=")\."	contains=ALL98syn region	logtalkDir		matchgroup=logtalkDirTag	start=":- meta_non_terminal("	matchgroup=logtalkDirTag	end=")\."	contains=ALL99syn region	logtalkDir		matchgroup=logtalkDirTag	start=":- op("			matchgroup=logtalkDirTag	end=")\."	contains=ALL100syn region	logtalkDir		matchgroup=logtalkDirTag	start=":- set_logtalk_flag("	matchgroup=logtalkDirTag	end=")\."	contains=ALL101syn region	logtalkDir		matchgroup=logtalkDirTag	start=":- synchronized("	matchgroup=logtalkDirTag	end=")\."	contains=ALL102syn match	logtalkDirTag		":- synchronized\."103syn region	logtalkDir		matchgroup=logtalkDirTag	start=":- uses("		matchgroup=logtalkDirTag	end=")\."	contains=ALL104syn match	logtalkDirTag		":- threaded\."105 106 107" Prolog directives108 109syn region	logtalkDir		matchgroup=logtalkDirTag	start=":- ensure_loaded("	matchgroup=logtalkDirTag	end=")\."	contains=ALL110syn region	logtalkDir		matchgroup=logtalkDirTag	start=":- include("     	matchgroup=logtalkDirTag	end=")\."	contains=ALL111syn region	logtalkDir		matchgroup=logtalkDirTag	start=":- set_prolog_flag("	matchgroup=logtalkDirTag	end=")\."	contains=ALL112 113 114" Module directives115 116syn region	logtalkDir		matchgroup=logtalkDirTag	start=":- module("		matchgroup=logtalkDirTag	end=")\."	contains=ALL117syn region	logtalkDir		matchgroup=logtalkDirTag	start=":- export("		matchgroup=logtalkDirTag	end=")\."	contains=ALL118syn region	logtalkDir		matchgroup=logtalkDirTag	start=":- reexport("		matchgroup=logtalkDirTag	end=")\."	contains=ALL119syn region	logtalkDir		matchgroup=logtalkDirTag	start=":- use_module("		matchgroup=logtalkDirTag	end=")\."	contains=ALL120 121 122" Logtalk built-in predicates123 124syn match	logtalkBuiltIn		"\<\(abolish\|c\(reate\|urrent\)\)_\(object\|protocol\|category\)\ze("125 126syn match	logtalkBuiltIn		"\<\(object\|protocol\|category\)_property\ze("127 128syn match	logtalkBuiltIn		"\<co\(mplements_object\|nforms_to_protocol\)\ze("129syn match	logtalkBuiltIn		"\<extends_\(object\|protocol\|category\)\ze("130syn match	logtalkBuiltIn		"\<imp\(orts_category\|lements_protocol\)\ze("131syn match	logtalkBuiltIn		"\<\(instantiat\|specializ\)es_class\ze("132 133syn match	logtalkBuiltIn		"\<\(abolish\|define\)_events\ze("134syn match	logtalkBuiltIn		"\<current_event\ze("135 136syn match	logtalkBuiltIn		"\<\(create\|current\|set\)_logtalk_flag\ze("137 138syn match	logtalkBuiltIn		"\<logtalk_\(compile\|l\(ibrary_path\|oad\|oad_context\)\|make\(_target_action\)\?\)\ze("139syn match	logtalkBuiltIn		"\<logtalk_make\>"140 141syn match	logtalkBuiltIn		"\<\(for\|retract\)all\ze("142 143syn match	logtalkBuiltIn		"\<threaded\(_\(ca\(ll\|ncel\)\|once\|ignore\|exit\|peek\|wait\|notify\)\)\?\ze("144syn match	logtalkBuiltIn		"\<threaded_engine\(_\(create\|destroy\|self\|next\|next_reified\|yield\|post\|fetch\)\)\?\ze("145 146 147" Logtalk built-in methods148 149syn match	logtalkBuiltInMethod	"\<context\ze("150syn match	logtalkBuiltInMethod	"\<parameter\ze("151syn match	logtalkBuiltInMethod	"\<se\(lf\|nder\)\ze("152syn match	logtalkBuiltInMethod	"\<this\ze("153 154syn match	logtalkBuiltInMethod	"\<current_predicate\ze("155syn match	logtalkBuiltInMethod	"\<predicate_property\ze("156 157syn match	logtalkBuiltInMethod	"\<a\(bolish\|ssert\(a\|z\)\)\ze("158syn match	logtalkBuiltInMethod	"\<clause\ze("159syn match	logtalkBuiltInMethod	"\<retract\(all\)\?\ze("160 161syn match	logtalkBuiltInMethod	"\<\(bag\|set\)of\ze("162syn match	logtalkBuiltInMethod	"\<f\(ind\|or\)all\ze("163 164syn match	logtalkBuiltInMethod	"\<before\ze("165syn match	logtalkBuiltInMethod	"\<after\ze("166 167syn match	logtalkBuiltInMethod	"\<forward\ze("168 169syn match	logtalkBuiltInMethod	"\<expand_\(goal\|term\)\ze("170syn match	logtalkBuiltInMethod	"\<\(goal\|term\)_expansion\ze("171syn match	logtalkBuiltInMethod	"\<phrase\ze("172 173 174" Mode operators175 176syn match	logtalkOperator		"\(0'\)\@<!?"177syn match	logtalkOperator		"\(0'\)\@<!@"178 179 180" Control constructs181 182syn match	logtalkKeyword		"\<true\>"183syn match	logtalkKeyword		"\<fail\>"184syn match	logtalkKeyword		"\<false\>"185syn match	logtalkKeyword		"\<ca\(ll\|tch\)\ze("186syn match	logtalkOperator		"\(0'\)\@<!!"187" syn match	logtalkOperator		"\(0'\)\@<!,"188syn match	logtalkOperator		"\(0'\)\@<!;"189syn match	logtalkOperator		"-->"190syn match	logtalkOperator		"->"191syn match	logtalkKeyword		"\<throw\ze("192syn match	logtalkKeyword		"\<\(instantiation\|system\)_error\>"193syn match	logtalkKeyword		"\<\(uninstantiation\|type\|domain\|consistency\|existence\|permission\|representation\|evaluation\|resource\|syntax\)_error\ze("194 195 196" Term unification197 198syn match	logtalkOperator		"\(0'\)\@<!="199syn match	logtalkKeyword		"\<subsumes_term\ze("200syn match	logtalkKeyword		"\<unify_with_occurs_check\ze("201syn match	logtalkOperator		"\\="202 203 204" Term testing205 206syn match	logtalkKeyword		"\<var\ze("207syn match	logtalkKeyword		"\<atom\(ic\)\?\ze("208syn match	logtalkKeyword		"\<integer\ze("209syn match	logtalkKeyword		"\<float\ze("210syn match	logtalkKeyword		"\<c\(allable\|ompound\)\ze("211syn match	logtalkKeyword		"\<n\(onvar\|umber\)\ze("212syn match	logtalkKeyword		"\<ground\ze("213syn match	logtalkKeyword		"\<acyclic_term\ze("214 215 216" Term comparison217 218syn match	logtalkKeyword		"\<compare\ze("219syn match	logtalkOperator		"@=<"220syn match	logtalkOperator		"=="221syn match	logtalkOperator		"\\=="222syn match	logtalkOperator		"@<"223syn match	logtalkOperator		"@>"224syn match	logtalkOperator		"@>="225 226 227" Term creation and decomposition228 229syn match	logtalkKeyword		"\<functor\ze("230syn match	logtalkKeyword		"\<arg\ze("231syn match	logtalkOperator		"=\.\."232syn match	logtalkKeyword		"\<copy_term\ze("233syn match	logtalkKeyword		"\<numbervars\ze("234syn match	logtalkKeyword		"\<term_variables\ze("235 236 237" Predicate aliases238 239syn match	logtalkOperator		"\<as\>"240 241 242" Arithmetic evaluation243 244syn match	logtalkOperator		"\<is\>"245 246 247" Arithmetic comparison248 249syn match	logtalkOperator		"=:="250syn match	logtalkOperator		"=\\="251syn match	logtalkOperator		"\(0'\)\@<!<"252syn match	logtalkOperator		"=<"253syn match	logtalkOperator		"\(0'\)\@<!>"254syn match	logtalkOperator		">="255 256 257" Stream selection and control258 259syn match	logtalkKeyword		"\<\(curren\|se\)t_\(in\|out\)put\ze("260syn match	logtalkKeyword		"\<open\ze("261syn match	logtalkKeyword		"\<close\ze("262syn match	logtalkKeyword		"\<flush_output\ze("263syn match	logtalkKeyword		"\<flush_output\>"264syn match	logtalkKeyword		"\<stream_property\ze("265syn match	logtalkKeyword		"\<at_end_of_stream\ze("266syn match	logtalkKeyword		"\<at_end_of_stream\>"267syn match	logtalkKeyword		"\<set_stream_position\ze("268 269 270" Character and byte input/output271 272syn match	logtalkKeyword		"\<\(get\|p\(eek\|ut\)\)_\(c\(har\|ode\)\|byte\)\ze("273syn match	logtalkKeyword		"\<nl\ze("274syn match	logtalkKeyword		"\<nl\>"275 276 277" Term input/output278 279syn match	logtalkKeyword		"\<read\(_term\)\?\ze("280syn match	logtalkKeyword		"\<write\(q\|_\(canonical\|term\)\)\?\ze("281syn match	logtalkKeyword		"\<\(current_\)\?op\ze("282syn match	logtalkKeyword		"\<\(current_\)\?char_conversion\ze("283 284 285" Logic and control286 287syn match	logtalkOperator		"\\+"288syn match	logtalkKeyword		"\<ignore\ze("289syn match	logtalkKeyword		"\<once\ze("290syn match	logtalkKeyword		"\<repeat\>"291 292 293" Atomic term processing294 295syn match	logtalkKeyword		"\<atom_\(length\|c\(hars\|o\(ncat\|des\)\)\)\ze("296syn match	logtalkKeyword		"\<sub_atom\ze("297syn match	logtalkKeyword		"\<char_code\ze("298syn match	logtalkKeyword		"\<number_c\(har\|ode\)s\ze("299 300 301" Implementation defined hooks functions302 303syn match	logtalkKeyword		"\<\(curren\|se\)t_prolog_flag\ze("304syn match	logtalkKeyword		"\<halt\ze("305syn match	logtalkKeyword		"\<halt\>"306 307 308" Sorting309 310syn match	logtalkKeyword		"\<\(key\)\?sort\ze("311 312 313" Evaluable functors314 315syn match	logtalkOperator		"\(0'\)\@<![+]"316syn match	logtalkOperator		"\(0'\)\@<![-]"317syn match	logtalkOperator		"\(0'\)\@<!\*"318syn match	logtalkOperator		"//"319syn match	logtalkOperator		"\(0'\)\@<!/"320syn match	logtalkKeyword		"\<div\ze("321syn match	logtalkKeyword		"\<r\(ound\|em\)\ze("322syn match	logtalkKeyword		"\<e\>"323syn match	logtalkKeyword		"\<pi\>"324syn match	logtalkKeyword		"\<div\>"325syn match	logtalkKeyword		"\<rem\>"326syn match	logtalkKeyword		"\<m\(ax\|in\|od\)\ze("327syn match	logtalkKeyword		"\<mod\>"328syn match	logtalkKeyword		"\<abs\ze("329syn match	logtalkKeyword		"\<sign\ze("330syn match	logtalkKeyword		"\<flo\(or\|at\(_\(integer\|fractional\)_part\)\?\)\ze("331syn match	logtalkKeyword		"\<t\(an\|runcate\)\ze("332syn match	logtalkKeyword		"\<ceiling\ze("333 334 335" Other arithemtic functors336 337syn match	logtalkOperator		"\*\*"338syn match	logtalkKeyword		"\<s\(in\|qrt\)\ze("339syn match	logtalkKeyword		"\<cos\ze("340syn match	logtalkKeyword		"\<a\(cos\|sin\|tan\|tan2\)\ze("341syn match	logtalkKeyword		"\<exp\ze("342syn match	logtalkKeyword		"\<log\ze("343 344 345" Bitwise functors346 347syn match	logtalkOperator		">>"348syn match	logtalkOperator		"<<"349syn match	logtalkOperator		"/\\"350syn match	logtalkOperator		"\\/"351syn match	logtalkOperator		"0'\@<!\\"352syn match	logtalkKeyword		"\<xor\ze("353 354 355" Logtalk list operator356 357syn match	logtalkOperator		"\(0'\)\@<!|"358 359 360" Logtalk existential quantifier operator361 362syn match	logtalkOperator		"\(0'\)\@<!^"363 364 365" Logtalk numbers 366 367syn match	logtalkNumber		"\<\d\+\>"368syn match	logtalkNumber		"\<\d\+\.\d\+\>"369syn match	logtalkNumber		"\<\d\+[eE][-+]\=\d\+\>"370syn match	logtalkNumber		"\<\d\+\.\d\+[eE][-+]\=\d\+\>"371syn match	logtalkNumber		"0'[\\]\?."372syn match	logtalkNumber		"\<0b[0-1]\+\>"373syn match	logtalkNumber		"\<0o\o\+\>"374syn match	logtalkNumber		"\<0x\x\+\>"375 376 377" Logtalk end-of-clause378 379syn match	logtalkOperator		"\(0'\)\@<!\."380 381 382" Logtalk comments383 384syn region	logtalkBlockComment	start="/\*"	end="\*/"	fold385syn match	logtalkLineComment	"%.*$"386 387syn cluster	logtalkComment		contains=logtalkBlockComment,logtalkLineComment388 389 390" Logtalk conditional compilation folding391 392syn region logtalkIfContainer transparent keepend extend start=":- if(" end=":- endif\." containedin=ALLBUT,@logtalkComment contains=NONE393syn region logtalkIf transparent fold keepend start=":- if(" end=":- \(else\.\|elif(\)"ms=s-1,me=s-1 contained containedin=logtalkIfContainer nextgroup=logtalkElseIf,logtalkElse contains=TOP394syn region logtalkElseIf transparent fold keepend start=":- elif(" end=":- \(else\.\|elif(\)"ms=s-1,me=s-1 contained containedin=logtalkIfContainer nextgroup=logtalkElseIf,logtalkElse contains=TOP395syn region logtalkElse transparent fold keepend start=":- else\." end=":- endif\." contained containedin=logtalkIfContainer contains=TOP396 397 398 399" Logtalk entity folding400 401syn region logtalkEntity transparent fold keepend start=":- object(" end=":- end_object\." contains=ALL402syn region logtalkEntity transparent fold keepend start=":- protocol(" end=":- end_protocol\." contains=ALL403syn region logtalkEntity transparent fold keepend start=":- category(" end=":- end_category\." contains=ALL404 405 406syn sync ccomment logtalkBlockComment maxlines=50407 408 409" Define the default highlighting.410" Only when an item doesn't have highlighting yet411 412hi def link logtalkBlockComment	Comment413hi def link logtalkLineComment	Comment414 415hi def link logtalkOpenEntityDir	Normal416hi def link logtalkOpenEntityDirTag	PreProc417 418hi def link logtalkIfContainer	PreProc419hi def link logtalkIf		PreProc420hi def link logtalkElseIf		PreProc421hi def link logtalkElse		PreProc422 423hi def link logtalkEntity		Normal424 425hi def link logtalkEntityRel	Normal426hi def link logtalkEntityRelTag	PreProc427 428hi def link logtalkCloseEntityDir	PreProc429 430hi def link logtalkDir		Normal431hi def link logtalkDirTag		PreProc432 433hi def link logtalkAtom		String434hi def link logtalkString		String435hi def link logtalkEscapeSequence	SpecialChar436 437hi def link logtalkNumber		Number438 439hi def link logtalkKeyword		Keyword440 441hi def link logtalkBuiltIn		Keyword442hi def link logtalkBuiltInMethod	Keyword443 444hi def link logtalkOperator		Operator445 446hi def link logtalkExtCall		Normal447hi def link logtalkExtCallTag	Operator448 449hi def link logtalkVariable		Identifier450 451 452 453let b:current_syntax = "logtalk"454 455let &cpo = s:cpo_save456unlet s:cpo_save457 
codekingpro/portable-devtools · Team Ai