Browse Source

[clojure] Fix regular expression for character literals.

Consolidate regular expressions for line and in-line comments.
Abdussalam Abdurrahman 6 năm trước cách đây
mục cha
commit
1188cfa1bb
2 tập tin đã thay đổi với 3 bổ sung5 xóa
  1. 1 0
      src/clojure/clojure.test.ts
  2. 2 5
      src/clojure/clojure.ts

+ 1 - 0
src/clojure/clojure.test.ts

@@ -747,6 +747,7 @@ testTokenization('clojure', [
 		'\\space',
 		'\\return',
 		'\\tab',
+		'\\o123',
 		'\\u1000',
 		'\\uAaAa',
 		'\\u9F9F'

+ 2 - 5
src/clojure/clojure.ts

@@ -718,7 +718,7 @@ export const language = <ILanguage>{
 
 	numbers: /^[+\-]?\d+(?:(?:N|(?:[eE][+\-]?\d+))|(?:\.?\d*(?:M|(?:[eE][+\-]?\d+))?)|\/\d+|[xX][0-9a-fA-F]+|r[0-9a-zA-Z]+)?/,
 
-	characters: /\\(?:@symbolCharacter+|[\\"()\[\]{}]|x[0-9A-Fa-f]{4}|u[0-9A-Fa-f]{4}|o[0-7]{3})/,
+	characters: /\\(?:backspace|formfeed|newline|return|space|tab|x[0-9A-Fa-f]{4}|u[0-9A-Fa-f]{4}|o[0-7]{3}|@symbolCharacter|[\\"()\[\]{}])/,
 
 	tokenizer: {
 		root: [
@@ -734,9 +734,6 @@ export const language = <ILanguage>{
 			// regular expressions
 			[/\/#"(?:\.|(?:")|[^"\n])*"\/g/, 'regexp'],
 
-			// inline comments
-			[/;.*$/, 'comment'],
-
 			// reader macro characters
 			[/[#'@^`~]/, 'meta'],
 
@@ -760,7 +757,7 @@ export const language = <ILanguage>{
 
 		whitespace: [
 			[/[ \t\r\n]+/, 'white'],
-			[/;;.*$/, 'comment']],
+			[/;.*$/, 'comment']],
 
 		string: [
 			[/"/, 'string', '@multiLineString'],