lib/rouge/lexers/javascript.rb in rouge-3.20.0 vs lib/rouge/lexers/javascript.rb in rouge-3.21.0

- old
+ new

@@ -17,10 +17,12 @@ aliases 'js' filenames '*.cjs', '*.js', '*.mjs' mimetypes 'application/javascript', 'application/x-javascript', 'text/javascript', 'text/x-javascript' + # Pseudo-documentation: https://stackoverflow.com/questions/1661197/what-characters-are-valid-for-javascript-variable-names + def self.detect?(text) return 1 if text.shebang?('node') return 1 if text.shebang?('jsc') # TODO: rhino, spidermonkey, etc end @@ -136,10 +138,10 @@ Float32Array Float64Array DataView ArrayBuffer ) end def self.id_regex - /[$a-z_][a-z0-9_]*/io + /[\p{L}\p{Nl}$_][\p{Word}]*/io end id = self.id_regex state :root do