You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@skywalking.apache.org by ke...@apache.org on 2021/09/08 07:14:01 UTC
[skywalking-eyes] branch main updated: Honor Python's coding
directive (#68)
This is an automated email from the ASF dual-hosted git repository.
kezhenxu94 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/skywalking-eyes.git
The following commit(s) were added to refs/heads/main by this push:
new 785bb7f Honor Python's coding directive (#68)
785bb7f is described below
commit 785bb7f3810572d6912666b4f64bad28e4360799
Author: kezhenxu94 <ke...@apache.org>
AuthorDate: Wed Sep 8 15:13:56 2021 +0800
Honor Python's coding directive (#68)
---
assets/languages.yaml | 4 ++--
assets/styles.yaml | 7 +++++++
pkg/comments/config_test.go | 2 +-
pkg/header/fix_test.go | 34 +++++++++++++++++++++++++++++++++-
4 files changed, 43 insertions(+), 4 deletions(-)
diff --git a/assets/languages.yaml b/assets/languages.yaml
index 44222a4..00e710b 100644
--- a/assets/languages.yaml
+++ b/assets/languages.yaml
@@ -1097,7 +1097,7 @@ Cython:
codemirror_mode: python
codemirror_mime_type: text/x-cython
language_id: 79
- comment_style_id: Hashtag
+ comment_style_id: PythonStyle
D:
type: programming
color: "#ba595e"
@@ -4441,7 +4441,7 @@ Python:
- python3
- rusthon
language_id: 303
- comment_style_id: Hashtag
+ comment_style_id: PythonStyle
Python console:
type: programming
group: Python
diff --git a/assets/styles.yaml b/assets/styles.yaml
index 6d971f2..5a784c8 100644
--- a/assets/styles.yaml
+++ b/assets/styles.yaml
@@ -102,3 +102,10 @@
start: "'"
middle: "'"
end: "'"
+
+- id: PythonStyle
+ # (interpreter binary and encoding comment) | (only interpreter binary) | (only encoding comment)
+ after: '(?m)(^*#!.+$\n^[ \t\f]*#.*?coding[:=][ \t]*([-_.a-zA-Z0-9]+).*$)|(^*#!.+$)|(^[ \t\f]*#.*?coding[:=][ \t]*([-_.a-zA-Z0-9]+).*$)'
+ start: '#'
+ middle: '#'
+ end: '#'
diff --git a/pkg/comments/config_test.go b/pkg/comments/config_test.go
index ae3367f..b967fd5 100644
--- a/pkg/comments/config_test.go
+++ b/pkg/comments/config_test.go
@@ -52,7 +52,7 @@ func TestCommentStyle(t *testing.T) {
commentStyleID string
}{
{filename: "Test.java", commentStyleID: "SlashAsterisk"},
- {filename: "Test.py", commentStyleID: "Hashtag"},
+ {filename: "Test.py", commentStyleID: "PythonStyle"},
}
for _, test := range tests {
t.Run(test.filename, func(t *testing.T) {
diff --git a/pkg/header/fix_test.go b/pkg/header/fix_test.go
index e8dce75..d98f36e 100644
--- a/pkg/header/fix_test.go
+++ b/pkg/header/fix_test.go
@@ -89,7 +89,7 @@ func TestRewriteContent(t *testing.T) {
print_string "hello worlds!\n";;
`},
{
- name: "Python with Shebang",
+ name: "Python with interpreter binary",
style: comments.FileCommentStyle("test.py"),
content: `#!/usr/bin/env python3
if __name__ == '__main__':
@@ -104,6 +104,38 @@ if __name__ == '__main__':
print('Hello World')
`},
{
+ name: "Python with interpreter binary and encoding",
+ style: comments.FileCommentStyle("test.py"),
+ content: `#!/usr/bin/env python3
+# -*- coding: latin-1 -*-
+if __name__ == '__main__':
+ print('Hello World')
+`,
+ licenseHeader: getLicenseHeader("test.py", t.Error),
+ expectedContent: `#!/usr/bin/env python3
+# -*- coding: latin-1 -*-
+# Apache License 2.0
+# http://www.apache.org/licenses/LICENSE-2.0
+# Apache License 2.0
+if __name__ == '__main__':
+ print('Hello World')
+`},
+ {
+ name: "Python with encoding",
+ style: comments.FileCommentStyle("test.py"),
+ content: `# -*- coding: latin-1 -*-
+if __name__ == '__main__':
+ print('Hello World')
+`,
+ licenseHeader: getLicenseHeader("test.py", t.Error),
+ expectedContent: `# -*- coding: latin-1 -*-
+# Apache License 2.0
+# http://www.apache.org/licenses/LICENSE-2.0
+# Apache License 2.0
+if __name__ == '__main__':
+ print('Hello World')
+`},
+ {
name: "Python",
style: comments.FileCommentStyle("test.py"),
content: `if __name__ == '__main__':