Skip to content

Commit

Permalink
fix(python) identifiers starting with underscore not highlighted (hig…
Browse files Browse the repository at this point in the history
…hlightjs#3221)

Since hljs version 11, python identifiers starting with an underscore
character were no longer highlighted (regression introduced in 952fa0a).

Add new python markup test related to identifiers highlighting.
  • Loading branch information
anlambert committed Jun 3, 2021
1 parent 3e87daa commit 45187c2
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 5 deletions.
2 changes: 2 additions & 0 deletions CHANGES.md
Expand Up @@ -2,11 +2,13 @@

Grammars:

- fix(python) identifiers starting with underscore not highlighted (#3221) [Antoine Lambert][]
- enh(clojure) added `edn` alias (#3213) [Stel Abrego][]
- enh(elixir) much improved regular expression sigil support (#3207) [Josh Goebel][]

[Stel Abrego]: https://github.com/stelcodes
[Josh Goebel]: https://github.com/joshgoebel
[Antoine Lambert]: https://github.com/anlambert

## Version 11.0.0

Expand Down
10 changes: 5 additions & 5 deletions src/languages/python.js
Expand Up @@ -5,7 +5,7 @@ Website: https://www.python.org
Category: common
*/

import { IDENT_RE } from '../lib/modes.js';
import { UNDERSCORE_IDENT_RE } from '../lib/modes.js';
import * as regex from '../lib/regex.js';

export default function(hljs) {
Expand Down Expand Up @@ -379,7 +379,7 @@ export default function(hljs) {
{
match: [
/def/, /\s+/,
IDENT_RE
UNDERSCORE_IDENT_RE
],
scope: {
1: "keyword",
Expand All @@ -392,14 +392,14 @@ export default function(hljs) {
{
match: [
/class/, /\s+/,
IDENT_RE, /\s*/,
/\(\s*/, IDENT_RE,/\s*\)/
UNDERSCORE_IDENT_RE, /\s*/,
/\(\s*/, UNDERSCORE_IDENT_RE,/\s*\)/
],
},
{
match: [
/class/, /\s+/,
IDENT_RE
UNDERSCORE_IDENT_RE
],
}
],
Expand Down
15 changes: 15 additions & 0 deletions test/markup/python/identifiers.expect.txt
@@ -0,0 +1,15 @@
<span class="hljs-keyword">def</span> <span class="hljs-title function_">func</span>():
<span class="hljs-keyword">pass</span>

<span class="hljs-keyword">def</span> <span class="hljs-title function_">_private_func</span>():
<span class="hljs-keyword">pass</span>

<span class="hljs-keyword">class</span> <span class="hljs-title class_">IdentifiersTest</span>:
<span class="hljs-keyword">def</span> <span class="hljs-title function_">__init__</span>(<span class="hljs-params">self</span>):
<span class="hljs-keyword">pass</span>

<span class="hljs-keyword">def</span> <span class="hljs-title function_">method</span>(<span class="hljs-params">self</span>):
<span class="hljs-keyword">pass</span>

<span class="hljs-keyword">class</span> <span class="hljs-title class_">_PrivateClass</span>:
<span class="hljs-keyword">pass</span>
15 changes: 15 additions & 0 deletions test/markup/python/identifiers.txt
@@ -0,0 +1,15 @@
def func():
pass

def _private_func():
pass

class IdentifiersTest:
def __init__(self):
pass

def method(self):
pass

class _PrivateClass:
pass

0 comments on commit 45187c2

Please sign in to comment.