diff runtime/syntax/prolog.vim @ 17909:cc953757ed2a

Runtime files update. Commit: https://github.com/vim/vim/commit/06fe74aef72606ac34c9f494186e52614b8fb59a Author: Bram Moolenaar <Bram@vim.org> Date: Sat Aug 31 16:20:32 2019 +0200 Runtime files update.
author Bram Moolenaar <Bram@vim.org>
date Sat, 31 Aug 2019 16:30:04 +0200
parents b11ceef7116e
children e2e2cc5d0856
line wrap: on
line diff
--- 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
+  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   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  "!"