dbcli / dbcli/mssql-cli

re.error: bad escape \e

Ouverte
#401 5 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
area: interactive bug
Langage dominant
Python
Étoiles
1.4k
Forks
191
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Hello,

I am using Windows 10 (version 19536.1000) and windows powershell 5.1. My database is in a docker container.

When writing `\e` in the prompt, I get the following error and get ejected from the database:

```
Traceback (most recent call last):
File "C:\Users\MTR\AppData\Local\Programs\Python\Python37\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "C:\Users\MTR\AppData\Local\Programs\Python\Python37\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Users\MTR\AppData\Local\Programs\Python\Python37\lib\site-packages\mssqlcli\main.py", line 117, in
main()
File "C:\Users\MTR\AppData\Local\Programs\Python\Python37\lib\site-packages\mssqlcli\main.py", line 110, in main
run_cli_with(mssqlcli_options)
File "C:\Users\MTR\AppData\Local\Programs\Python\Python37\lib\site-packages\mssqlcli\main.py", line 55, in run_cli_with
mssqlcli.run()
File "C:\Users\MTR\AppData\Local\Programs\Python\Python37\lib\site-packages\mssqlcli\mssql_cli.py", line 433, in run
text = self.handle_editor_command(text)
File "C:\Users\MTR\AppData\Local\Programs\Python\Python37\lib\site-packages\mssqlcli\mssql_cli.py", line 296, in handle_editor_command
query = (special.get_editor_query(text) or
File "C:\Users\MTR\AppData\Local\Programs\Python\Python37\lib\site-packages\mssqlcli\packages\special\commands.py", line 317, in get_editor_query
pattern = re.compile(r'(^\\\e|\\\e$)')
File "C:\Users\MTR\AppData\Local\Programs\Python\Python37\lib\re.py", line 234, in compile
return _compile(pattern, flags)
File "C:\Users\MTR\AppData\Local\Programs\Python\Python37\lib\re.py", line 286, in _compile
p = sre_compile.compile(pattern, flags)
File "C:\Users\MTR\AppData\Local\Programs\Python\Python37\lib\sre_compile.py", line 764, in compile
p = sre_parse.parse(p, flags)
File "C:\Users\MTR\AppData\Local\Programs\Python\Python37\lib\sre_parse.py", line 924, in parse
p = _parse_sub(source, pattern, flags & SRE_FLAG_VERBOSE, 0)
File "C:\Users\MTR\AppData\Local\Programs\Python\Python37\lib\sre_parse.py", line 420, in _parse_sub
not nested and not items))
File "C:\Users\MTR\AppData\Local\Programs\Python\Python37\lib\sre_parse.py", line 810, in _parse
p = _parse_sub(source, state, sub_verbose, nested + 1)
File "C:\Users\MTR\AppData\Local\Programs\Python\Python37\lib\sre_parse.py", line 420, in _parse_sub
not nested and not items))
File "C:\Users\MTR\AppData\Local\Programs\Python\Python37\lib\sre_parse.py", line 501, in _parse
code = _escape(source, this, state)
File "C:\Users\MTR\AppData\Local\Programs\Python\Python37\lib\sre_parse.py", line 402, in _escape
raise source.error("bad escape %s" % escape, len(escape))
re.error: bad escape \e at position 4
```

I tried setting the `$EDITOR` and `$env:EDITOR` variables, but it did not change the visible outcome.

Am I doing it wrong ? Is there a way I can use an external editor with mssql-cli ?
Also, would the external editor benefit from the autocompletion capabilities of mssql-cli ?

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez dans mssql_cli.py à handle_editor_command et dans packages/special/commands.py à get_editor_query, les points d’entrée indiqués dans le traceback. Reproduisez l’invite \e dans Windows PowerShell avec la base de données exécutée via Docker, puis vérifiez que l’appel de l’éditeur ne lève plus re.error et que le comportement de l’éditeur externe fonctionne comme prévu.

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

Évaluation

Stack technique
docker, powershell, python
Domaine
cli, databases
Type d'issue
Bug
Difficulté
2/5
Temps estimé
1-3 heures
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
42/100

Recevez les nouvelles issues par e-mail

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