[BUG] Linter is_snake_case only matches ASCII — always fails for Devanagari identifiers

Ouverte
#6 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
56/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Calme
Stack technique
python

Piste de recherche

The naming rule is is_snake_case in maithili_dsl/transpiler/linter.py, and its ASCII-only regex is the cause. Check where enforce_snake_case in LINT_CONFIG is read, and run 'नाम'.isidentifier() to confirm the identifier is valid. Done when Devanagari names pass the check, Latin snake_case is still enforced, and new cases in tests/test_linter.py cover both. The issue leaves the script-detection approach open, so confirm it with a maintainer before choosing one.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

area:linter bug P2

File: maithili_dsl/transpiler/linter.py:11

def is_snake_case(name):
    return bool(re.match(r'^[a-z_][a-z0-9_]*$', name))

The regex only matches ASCII lowercase, so every Devanagari variable name (e.g. नाम, गिनती) fails the check. Devanagari identifiers are valid Python 3 identifiers ('नाम'.isidentifier() is True), so the naming rule should accept them.

Currently mitigated because enforce_snake_case defaults to False in LINT_CONFIG, but any user who enables it gets a false positive on every line.

Fix: make the naming check script-aware — e.g. accept identifiers composed of Devanagari characters (and underscores/digits), and only apply the ASCII snake_case rule to Latin-script names. Add cases to tests/test_linter.py.

From BACKLOG.md item 10.

Langage dominant
Python
Étoiles
1
Forks
4
Merge moyen
12 j 21 h
PR mergées (30 j)
1

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de alphacrack/python-maithili-dsl

Toutes les issues de alphacrack/python-maithili-dsl

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.