From 31d6023a3c766a617a251e9d989342c5f2397fd8 Mon Sep 17 00:00:00 2001 From: koka Date: Sat, 8 Jul 2017 22:52:22 +0900 Subject: [PATCH 1/8] separate pythonClassName from pythonFunction --- syntax/python.vim | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/syntax/python.vim b/syntax/python.vim index ffd88f9..4a00eea 100644 --- a/syntax/python.vim +++ b/syntax/python.vim @@ -63,7 +63,9 @@ endif syn keyword pythonStatement break continue del return pass yield global assert lambda with syn keyword pythonStatement raise nextgroup=pythonExClass skipwhite -syn keyword pythonStatement def class nextgroup=pythonFunction skipwhite +syn keyword pythonStatement def nextgroup=pythonFunction skipwhite +syn keyword pythonStatement class nextgroup=pythonClassName skipwhite +syn match pythonClassName '[A-Z][a-zA-Z0-9_]*' display contained if s:Enabled('g:python_highlight_class_vars') syn keyword pythonClassVar self cls endif @@ -407,6 +409,7 @@ if v:version >= 508 || !exists('did_python_syn_inits') HiLink pythonRaiseFromStatement Statement HiLink pythonImport Include HiLink pythonFunction Function + HiLink pythonClassName Structure HiLink pythonConditional Conditional HiLink pythonRepeat Repeat HiLink pythonException Exception From 89881c3974a2d982c4c24dd3991514e0ae1c72d1 Mon Sep 17 00:00:00 2001 From: koka Date: Mon, 31 Jul 2017 22:57:08 +0900 Subject: [PATCH 2/8] remove regex for pythonClassName --- syntax/python.vim | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/syntax/python.vim b/syntax/python.vim index 4a00eea..535fe4e 100644 --- a/syntax/python.vim +++ b/syntax/python.vim @@ -65,7 +65,8 @@ syn keyword pythonStatement break continue del return pass yield global asse syn keyword pythonStatement raise nextgroup=pythonExClass skipwhite syn keyword pythonStatement def nextgroup=pythonFunction skipwhite syn keyword pythonStatement class nextgroup=pythonClassName skipwhite -syn match pythonClassName '[A-Z][a-zA-Z0-9_]*' display contained +" for all developers, commented out CamelCase regex for className +"syn match pythonClassName '[A-Z][a-zA-Z0-9_]*' display contained if s:Enabled('g:python_highlight_class_vars') syn keyword pythonClassVar self cls endif From ac576c5d863662bb04c25a53da03a0e22ce27d71 Mon Sep 17 00:00:00 2001 From: koka Date: Mon, 31 Jul 2017 23:09:32 +0900 Subject: [PATCH 3/8] modify regex for pythonClassName following pythonFunction way. --- syntax/python.vim | 2 ++ tests/test.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/syntax/python.vim b/syntax/python.vim index 535fe4e..d43e7f4 100644 --- a/syntax/python.vim +++ b/syntax/python.vim @@ -88,10 +88,12 @@ if s:Python2Syntax() syn keyword pythonStatement exec syn keyword pythonImport as syn match pythonFunction '[a-zA-Z_][a-zA-Z0-9_]*' display contained + syn match pythonClassName '[A-Z][a-zA-Z0-9_]*' display contained else syn keyword pythonStatement as nonlocal syn match pythonStatement '\v\.@' syn match pythonFunction '\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*' display contained + syn match pythonClassName '\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*' display contained syn match pythonStatement '\' nextgroup=pythonFunction skipwhite syn match pythonStatement '\' syn match pythonStatement '\' diff --git a/tests/test.py b/tests/test.py index 058f3f7..cea906a 100644 --- a/tests/test.py +++ b/tests/test.py @@ -19,8 +19,10 @@ def functionname class Classname +class classname def функция class Класс +class функция # Keywords: Python 2 From 28776a52be718444025c7a9af8f85fcd3e0ef1c9 Mon Sep 17 00:00:00 2001 From: koka Date: Mon, 31 Jul 2017 23:40:05 +0900 Subject: [PATCH 4/8] use :upper: --- syntax/python.vim | 7 +++---- tests/test.py | 3 ++- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/syntax/python.vim b/syntax/python.vim index d43e7f4..0f49224 100644 --- a/syntax/python.vim +++ b/syntax/python.vim @@ -65,8 +65,8 @@ syn keyword pythonStatement break continue del return pass yield global asse syn keyword pythonStatement raise nextgroup=pythonExClass skipwhite syn keyword pythonStatement def nextgroup=pythonFunction skipwhite syn keyword pythonStatement class nextgroup=pythonClassName skipwhite -" for all developers, commented out CamelCase regex for className -"syn match pythonClassName '[A-Z][a-zA-Z0-9_]*' display contained +syn match pythonClassName '[:upper:]*' display contained + if s:Enabled('g:python_highlight_class_vars') syn keyword pythonClassVar self cls endif @@ -88,13 +88,12 @@ if s:Python2Syntax() syn keyword pythonStatement exec syn keyword pythonImport as syn match pythonFunction '[a-zA-Z_][a-zA-Z0-9_]*' display contained - syn match pythonClassName '[A-Z][a-zA-Z0-9_]*' display contained else syn keyword pythonStatement as nonlocal syn match pythonStatement '\v\.@' syn match pythonFunction '\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*' display contained - syn match pythonClassName '\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*' display contained syn match pythonStatement '\' nextgroup=pythonFunction skipwhite + syn match pythonStatement '\' nextgroup=pythonClassName skipwhite syn match pythonStatement '\' syn match pythonStatement '\' syn cluster pythonExpression contains=pythonStatement,pythonRepeat,pythonConditional,pythonOperator,pythonNumber,pythonHexNumber,pythonOctNumber,pythonBinNumber,pythonFloat,pythonString,pythonBytes,pythonBoolean,pythonBuiltinObj,pythonBuiltinFunc diff --git a/tests/test.py b/tests/test.py index cea906a..ac08e25 100644 --- a/tests/test.py +++ b/tests/test.py @@ -22,7 +22,8 @@ class Classname class classname def функция class Класс -class функция +class класс + # Keywords: Python 2 From 71b4ecc84ca307de157cff7b041d1252b6afeffc Mon Sep 17 00:00:00 2001 From: koka Date: Tue, 1 Aug 2017 00:41:51 +0900 Subject: [PATCH 5/8] fix regex --- syntax/python.vim | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/syntax/python.vim b/syntax/python.vim index 0f49224..e774162 100644 --- a/syntax/python.vim +++ b/syntax/python.vim @@ -53,6 +53,7 @@ if s:Enabled('g:python_highlight_all') call s:EnableByDefault('g:python_highlight_space_errors') call s:EnableByDefault('g:python_highlight_doctests') call s:EnableByDefault('g:python_print_as_function') + call s:EnableByDefault('g:python_highlight_class_names') call s:EnableByDefault('g:python_highlight_class_vars') call s:EnableByDefault('g:python_highlight_operators') endif @@ -64,9 +65,10 @@ endif syn keyword pythonStatement break continue del return pass yield global assert lambda with syn keyword pythonStatement raise nextgroup=pythonExClass skipwhite syn keyword pythonStatement def nextgroup=pythonFunction skipwhite -syn keyword pythonStatement class nextgroup=pythonClassName skipwhite -syn match pythonClassName '[:upper:]*' display contained - +if s:Enabled('g:python_highlight_class_names') + syn keyword pythonStatement class nextgroup=pythonClassName skipwhite + syn match pythonClassName '^[:upper:]\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*' display contained +endif if s:Enabled('g:python_highlight_class_vars') syn keyword pythonClassVar self cls endif @@ -93,7 +95,6 @@ else syn match pythonStatement '\v\.@' syn match pythonFunction '\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*' display contained syn match pythonStatement '\' nextgroup=pythonFunction skipwhite - syn match pythonStatement '\' nextgroup=pythonClassName skipwhite syn match pythonStatement '\' syn match pythonStatement '\' syn cluster pythonExpression contains=pythonStatement,pythonRepeat,pythonConditional,pythonOperator,pythonNumber,pythonHexNumber,pythonOctNumber,pythonBinNumber,pythonFloat,pythonString,pythonBytes,pythonBoolean,pythonBuiltinObj,pythonBuiltinFunc From aa9d431248f453a16411cd878590dab26bbe2afe Mon Sep 17 00:00:00 2001 From: koka Date: Tue, 1 Aug 2017 00:47:02 +0900 Subject: [PATCH 6/8] fix --- syntax/python.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/python.vim b/syntax/python.vim index e774162..da4d2b6 100644 --- a/syntax/python.vim +++ b/syntax/python.vim @@ -67,7 +67,7 @@ syn keyword pythonStatement raise nextgroup=pythonExClass skipwhite syn keyword pythonStatement def nextgroup=pythonFunction skipwhite if s:Enabled('g:python_highlight_class_names') syn keyword pythonStatement class nextgroup=pythonClassName skipwhite - syn match pythonClassName '^[:upper:]\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*' display contained + syn match pythonClassName '\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*' display contained endif if s:Enabled('g:python_highlight_class_vars') syn keyword pythonClassVar self cls From ed4966cc480b5c532809405d3552dc68470486e0 Mon Sep 17 00:00:00 2001 From: koka Date: Tue, 1 Aug 2017 00:49:36 +0900 Subject: [PATCH 7/8] use :upper: --- syntax/python.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/python.vim b/syntax/python.vim index da4d2b6..d78c775 100644 --- a/syntax/python.vim +++ b/syntax/python.vim @@ -67,7 +67,7 @@ syn keyword pythonStatement raise nextgroup=pythonExClass skipwhite syn keyword pythonStatement def nextgroup=pythonFunction skipwhite if s:Enabled('g:python_highlight_class_names') syn keyword pythonStatement class nextgroup=pythonClassName skipwhite - syn match pythonClassName '\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*' display contained + syn match pythonClassName '[:upper:]\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*' display contained endif if s:Enabled('g:python_highlight_class_vars') syn keyword pythonClassVar self cls From b412bd0b46e1af993e1eeea2a2bcb271e5edb31b Mon Sep 17 00:00:00 2001 From: koka Date: Tue, 1 Aug 2017 01:08:08 +0900 Subject: [PATCH 8/8] fix regexp: recog :upper: --- syntax/python.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/python.vim b/syntax/python.vim index d78c775..6a4ca79 100644 --- a/syntax/python.vim +++ b/syntax/python.vim @@ -67,7 +67,7 @@ syn keyword pythonStatement raise nextgroup=pythonExClass skipwhite syn keyword pythonStatement def nextgroup=pythonFunction skipwhite if s:Enabled('g:python_highlight_class_names') syn keyword pythonStatement class nextgroup=pythonClassName skipwhite - syn match pythonClassName '[:upper:]\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*' display contained + syn match pythonClassName '\%([[:upper:]][^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*' display contained endif if s:Enabled('g:python_highlight_class_vars') syn keyword pythonClassVar self cls