diff options
Diffstat (limited to 'runtime/syntax/prolog.vim')
-rw-r--r-- | runtime/syntax/prolog.vim | 71 |
1 files changed, 38 insertions, 33 deletions
diff --git a/runtime/syntax/prolog.vim b/runtime/syntax/prolog.vim index 3b09bb3548..58b279b029 100644 --- a/runtime/syntax/prolog.vim +++ b/runtime/syntax/prolog.vim @@ -1,14 +1,14 @@ " Vim syntax file " Language: PROLOG -" Maintainer: Thomas Koehler <jean-luc@picard.franken.de> -" Please be aware: I'm often slow to answer email due to a high -" non-computer related workload (sometimes 4-8 weeks) -" Last Change: 2016 September 6 -" URL: http://gott-gehabt.de/800_wer_wir_sind/thomas/Homepage/Computer/vim/syntax/prolog.vim +" Maintainer: Anton Kochkov <anton.kochkov@gmail.com> +" Last Change: 2019 Aug 29 " There are two sets of highlighting in here: " If the "prolog_highlighting_clean" variable exists, it is rather sparse. " Otherwise you get more highlighting. +" +" You can also set the "prolog_highlighting_no_keyword" variable. If set, +" keywords will not be highlighted. " quit when a syntax file was already loaded if exists("b:current_syntax") @@ -24,7 +24,9 @@ syn case match syn region prologCComment start=+/\*+ end=+\*/+ syn match prologComment +%.*+ -syn keyword prologKeyword module meta_predicate multifile dynamic +if !exists("prolog_highlighting_no_keyword") + syn keyword prologKeyword module meta_predicate multifile dynamic +endif syn match prologCharCode +0'\\\=.+ syn region prologString start=+"+ skip=+\\\\\|\\"+ end=+"+ syn region prologAtom start=+'+ skip=+\\\\\|\\'+ end=+'+ @@ -35,35 +37,38 @@ if !exists("prolog_highlighting_clean") " some keywords " some common predicates are also highlighted as keywords " is there a better solution? - syn keyword prologKeyword abolish current_output peek_code - syn keyword prologKeyword append current_predicate put_byte - syn keyword prologKeyword arg current_prolog_flag put_char - syn keyword prologKeyword asserta fail put_code - syn keyword prologKeyword assertz findall read - syn keyword prologKeyword at_end_of_stream float read_term - syn keyword prologKeyword atom flush_output repeat - syn keyword prologKeyword atom_chars functor retract - syn keyword prologKeyword atom_codes get_byte set_input - syn keyword prologKeyword atom_concat get_char set_output - syn keyword prologKeyword atom_length get_code set_prolog_flag - syn keyword prologKeyword atomic halt set_stream_position - syn keyword prologKeyword bagof integer setof - syn keyword prologKeyword call is stream_property - syn keyword prologKeyword catch nl sub_atom - syn keyword prologKeyword char_code nonvar throw - syn keyword prologKeyword char_conversion number true - syn keyword prologKeyword clause number_chars unify_with_occurs_check - syn keyword prologKeyword close number_codes var - syn keyword prologKeyword compound once write - syn keyword prologKeyword copy_term op write_canonical - syn keyword prologKeyword current_char_conversion open write_term - syn keyword prologKeyword current_input peek_byte writeq - syn keyword prologKeyword current_op peek_char - - syn match prologOperator "=\\=\|=:=\|\\==\|=<\|==\|>=\|\\=\|\\+\|<\|>\|=" + if !exists("prolog_highlighting_no_keyword") + syn keyword prologKeyword abolish current_output peek_code + syn keyword prologKeyword append current_predicate put_byte + syn keyword prologKeyword arg current_prolog_flag put_char + syn keyword prologKeyword asserta fail put_code + syn keyword prologKeyword assertz findall read + syn keyword prologKeyword at_end_of_stream float read_term + syn keyword prologKeyword atom flush_output repeat + syn keyword prologKeyword atom_chars functor retract + syn keyword prologKeyword atom_codes get_byte set_input + syn keyword prologKeyword atom_concat get_char set_output + syn keyword prologKeyword atom_length get_code set_prolog_flag + syn keyword prologKeyword atomic halt set_stream_position + syn keyword prologKeyword bagof integer setof + syn keyword prologKeyword call is stream_property + syn keyword prologKeyword catch nl sub_atom + syn keyword prologKeyword char_code nonvar throw + syn keyword prologKeyword char_conversion number true + syn keyword prologKeyword clause number_chars unify_with_occurs_check + syn keyword prologKeyword close number_codes var + syn keyword prologKeyword compound once write + syn keyword prologKeyword copy_term op write_canonical + syn keyword prologKeyword current_char_conversion open write_term + syn keyword prologKeyword current_input peek_byte writeq + syn keyword prologKeyword current_op peek_char + endif + + syn match prologOperator "=\\=\|=:=\|\\==\|=<\|==\|>=\|\\=\|\\+\|=\.\.\|<\|>\|=" syn match prologAsIs "===\|\\===\|<=\|=>" - syn match prologNumber "\<[0123456789]*\>'\@!" + syn match prologNumber "\<\d*\>'\@!" + syn match prologNumber "\<0[xX]\x*\>'\@!" syn match prologCommentError "\*/" syn match prologSpecialCharacter ";" syn match prologSpecialCharacter "!" |