-
-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Typing single or double quote when text is selected erases the text #9897
Comments
Just wanted to add a couple of details here, as I'm going through a similar problem. I'm using macOS and it seems that keyboard layouts that support accented characters are the ones with this type of behavior. For example: When using U.S. International - PC keyboard layout, typing '+a will result in the character á, whereas using the US keyboard layout will result in 'a. It seems that the people in vscode faced similar problems with this particular issue here. For now, if you are using an international keyboard layout and macOS, I would suggest switching back and forth between layouts. Switching to US layout and enabling "autoClosingBrackets": true did it for me |
The suggestion over at #10835 is that this behavior should work even with autoClosingBracket false. |
I havent used jupyterlab for a while and now none of the autoclose behaviour is working for square brackets, parenthesis, quotes etc and highlighting text and trying to wrap with any of these characters erases the text instead. Tried switching the Keyboard Layout (am also on a Mac) hasnt helped. I have the autoCloseBracket Setting enabled also. Just switched back to Jupyter Notebook and its working as expected there. |
Just wanted to add that I just downloaded the latest version and was very confused that the auto bracket closing wasn't working, even for quotes. My recommendation is to make the auto closing brackets on by default. |
I support that. @amaralbf's use case, which I share, is distinct from the change in #9488 that is causing the behavior in this issue. I would like to revert to having quote padding for string delimiting in a code cell or quoting text in a Markdown cell while leaving |
Just so it is clear, it is our upstream project, CodeMirror, that bundled together the autoclosing and selection wrapping behavior. By disabling autoclosing brackets, we disabled the selection wrapping. In order to enable selection wrapping now, we'll need to add code to duplicate that functionality (and then disable that code when autoclosing is enabled so we don't have duplicate handlers). To help someone that can work on this, it seems that the core of the wrapping behavior in the autoclosing addon in CodeMirror is at https://github.com/codemirror/CodeMirror/blob/73a5c219afb76f4bb813cce794d29a7b6a1ad500/addon/edit/closebrackets.js#L137-L138 and https://github.com/codemirror/CodeMirror/blob/73a5c219afb76f4bb813cce794d29a7b6a1ad500/addon/edit/closebrackets.js#L170-L178. |
DescriptionEven after (re-)setting Context
Troubleshoot Output$PATH: $HOME/.local/bin $HOME/kolla-ansible/tools /usr/local/bin /usr/local/sbin /usr/local/share/openvswitch/scripts /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /usr/games /usr/local/games /snap/bin /usr/lib/jvm/java-15-oracle/bin /usr/lib/jvm/java-15-oracle/db/bin Command Line Output[D 2021-09-23 21:02:29.050 ServerApp] Searching ['$HOME', '$HOME/.jupyter', '/usr/etc/jupyter', '/usr/local/etc/jupyter', '/etc/jupyter'] for config files [D 2021-09-23 21:02:29.050 ServerApp] Looking for jupyter_config in /etc/jupyter [D 2021-09-23 21:02:29.050 ServerApp] Looking for jupyter_config in /usr/local/etc/jupyter [D 2021-09-23 21:02:29.050 ServerApp] Looking for jupyter_config in /usr/etc/jupyter [D 2021-09-23 21:02:29.050 ServerApp] Looking for jupyter_config in $HOME/.jupyter [D 2021-09-23 21:02:29.050 ServerApp] Looking for jupyter_config in $HOME [D 2021-09-23 21:02:29.051 ServerApp] Looking for jupyter_server_config in /etc/jupyter [D 2021-09-23 21:02:29.051 ServerApp] Looking for jupyter_server_config in /usr/local/etc/jupyter [D 2021-09-23 21:02:29.051 ServerApp] Looking for jupyter_server_config in /usr/etc/jupyter [D 2021-09-23 21:02:29.051 ServerApp] Looking for jupyter_server_config in $HOME/.jupyter [D 2021-09-23 21:02:29.052 ServerApp] Looking for jupyter_server_config in $HOME [D 2021-09-23 21:02:29.054 ServerApp] Paths used for configuration of jupyter_server_config: /etc/jupyter/jupyter_server_config.json [D 2021-09-23 21:02:29.054 ServerApp] Paths used for configuration of jupyter_server_config: /usr/local/etc/jupyter/jupyter_server_config.d/jupyter-lsp-jupyter-server.json /usr/local/etc/jupyter/jupyter_server_config.d/jupyter_server_mathjax.json /usr/local/etc/jupyter/jupyter_server_config.d/jupyterlab.json /usr/local/etc/jupyter/jupyter_server_config.d/jupyterlab_code_formatter.json /usr/local/etc/jupyter/jupyter_server_config.d/jupyterlab_git.json /usr/local/etc/jupyter/jupyter_server_config.d/jupytext.json /usr/local/etc/jupyter/jupyter_server_config.d/nbclassic.json /usr/local/etc/jupyter/jupyter_server_config.d/nbdime.json /usr/local/etc/jupyter/jupyter_server_config.json [D 2021-09-23 21:02:29.055 ServerApp] Paths used for configuration of jupyter_server_config: /usr/etc/jupyter/jupyter_server_config.json [D 2021-09-23 21:02:29.055 ServerApp] Paths used for configuration of jupyter_server_config: $HOME/.jupyter/jupyter_server_config.json /usr/local/lib/python3.8/dist-packages/jupyter_server/transutils.py:13: FutureWarning: The alias `_()` will be deprecated. Use `_i18n()` instead. warnings.warn(warn_msg, FutureWarning) [I 2021-09-23 21:02:29.192 ServerApp] jupyter_lsp | extension was successfully linked. [D 2021-09-23 21:02:29.200 MathJaxExtension] Config changed: {'ServerApp': {'log_level': 'DEBUG', 'open_browser': False, 'jpserver_extensions': }, 'ExtensionApp': {'log_level': 'DEBUG', 'open_browser': False}} [D 2021-09-23 21:02:29.201 ServerApp] Config changed: {'ServerApp': {'log_level': 'DEBUG', 'open_browser': False, 'jpserver_extensions': }, 'ExtensionApp': {'log_level': 'DEBUG', 'open_browser': False}} [I 2021-09-23 21:02:29.202 ServerApp] jupyter_server_mathjax | extension was successfully linked. [D 2021-09-23 21:02:29.216 LabApp] Config changed: {'NotebookApp': {}, 'ServerApp': {'log_level': 'DEBUG', 'open_browser': False, 'jpserver_extensions': }, 'ExtensionApp': {'log_level': 'DEBUG', 'open_browser': False}} [I 2021-09-23 21:02:29.217 ServerApp] jupyterlab | extension was successfully linked. [I 2021-09-23 21:02:29.217 ServerApp] jupyterlab_code_formatter | extension was successfully linked. [I 2021-09-23 21:02:29.217 ServerApp] jupyterlab_git | extension was successfully linked. [I 2021-09-23 21:02:29.217 ServerApp] jupytext | extension was successfully linked. [W 2021-09-23 21:02:29.222 NotebookApp] 'contents_manager_class' has moved from NotebookApp to ServerApp. This config will be passed to ServerApp. Be sure to update your config before our next release. [D 2021-09-23 21:02:29.230 NotebookApp] Config changed: {'NotebookApp': {}, 'ServerApp': {'contents_manager_class': 'jupytext.TextFileContentsManager', 'log_level': 'DEBUG', 'open_browser': False, 'jpserver_extensions': }, 'ContentsManager': {'allow_hidden': True, 'comment_magics': True, 'default_jupytext_formats': 'ipynb,py:percent'}, 'ExtensionApp': {'log_level': 'DEBUG', 'open_browser': False}} [D 2021-09-23 21:02:29.477 ServerApp] Paths used for configuration of jupyter_notebook_config: $HOME/.jupyter/jupyter_notebook_config.json [D 2021-09-23 21:02:29.477 ServerApp] Paths used for configuration of jupyter_notebook_config: /etc/jupyter/jupyter_notebook_config.json [D 2021-09-23 21:02:29.478 ServerApp] Paths used for configuration of jupyter_notebook_config: /usr/local/etc/jupyter/jupyter_notebook_config.d/jupyter-lsp-notebook.json /usr/local/etc/jupyter/jupyter_notebook_config.d/jupyterlab.json /usr/local/etc/jupyter/jupyter_notebook_config.d/jupyterlab_code_formatter.json /usr/local/etc/jupyter/jupyter_notebook_config.d/jupyterlab_git.json /usr/local/etc/jupyter/jupyter_notebook_config.d/jupytext.json /usr/local/etc/jupyter/jupyter_notebook_config.d/nbdime.json /usr/local/etc/jupyter/jupyter_notebook_config.d/panel-client-jupyter.json /usr/local/etc/jupyter/jupyter_notebook_config.d/serverextension.json /usr/local/etc/jupyter/jupyter_notebook_config.json [D 2021-09-23 21:02:29.479 ServerApp] Paths used for configuration of jupyter_notebook_config: /usr/etc/jupyter/jupyter_notebook_config.json [D 2021-09-23 21:02:29.479 ServerApp] Paths used for configuration of jupyter_notebook_config: $HOME/.jupyter/jupyter_notebook_config.json [I 2021-09-23 21:02:30.516 ServerApp] panel | extension was found and enabled by nbclassic. Consider moving the extension to Jupyter Server's extension paths. [I 2021-09-23 21:02:30.517 ServerApp] panel | extension was successfully linked. [I 2021-09-23 21:02:30.529 ServerApp] nbresuse | extension was found and enabled by nbclassic. Consider moving the extension to Jupyter Server's extension paths. [I 2021-09-23 21:02:30.530 ServerApp] nbresuse | extension was successfully linked. [I 2021-09-23 21:02:30.530 ServerApp] nbclassic | extension was successfully linked. [I 2021-09-23 21:02:30.530 ServerApp] nbdime | extension was successfully linked. [D 2021-09-23 21:02:30.531 ServerApp] Config changed: {'ExtensionApp': {'log_level': 'DEBUG', 'open_browser': False}, 'NotebookApp': {}, 'ServerApp': {'contents_manager_class': 'jupytext.TextFileContentsManager', 'log_level': 'DEBUG', 'open_browser': False, 'jpserver_extensions': }, 'ContentsManager': {'allow_hidden': True, 'comment_magics': True, 'default_jupytext_formats': 'ipynb,py:percent'}} [D 2021-09-23 21:02:30.532 ServerApp] Raising open file limit: soft 1024->4096; hard 1048576->1048576 [D 2021-09-23 21:02:30.561 ServerApp] Paths used for configuration of jupyter_config: /etc/jupyter/jupyter_config.json [D 2021-09-23 21:02:30.562 ServerApp] Paths used for configuration of jupyter_config: /usr/local/etc/jupyter/jupyter_config.json [D 2021-09-23 21:02:30.562 ServerApp] Paths used for configuration of jupyter_config: /usr/etc/jupyter/jupyter_config.json [D 2021-09-23 21:02:30.563 ServerApp] Paths used for configuration of jupyter_config: $HOME/.jupyter/jupyter_config.json [D 2021-09-23 21:02:30.563 ServerApp] Paths used for configuration of jupyter_notebook_config: /etc/jupyter/jupyter_notebook_config.json [D 2021-09-23 21:02:30.563 ServerApp] Paths used for configuration of jupyter_notebook_config: /usr/local/etc/jupyter/jupyter_notebook_config.d/jupyter-lsp-notebook.json /usr/local/etc/jupyter/jupyter_notebook_config.d/jupyterlab.json /usr/local/etc/jupyter/jupyter_notebook_config.d/jupyterlab_code_formatter.json /usr/local/etc/jupyter/jupyter_notebook_config.d/jupyterlab_git.json /usr/local/etc/jupyter/jupyter_notebook_config.d/jupytext.json /usr/local/etc/jupyter/jupyter_notebook_config.d/nbdime.json /usr/local/etc/jupyter/jupyter_notebook_config.d/panel-client-jupyter.json /usr/local/etc/jupyter/jupyter_notebook_config.d/serverextension.json /usr/local/etc/jupyter/jupyter_notebook_config.json [D 2021-09-23 21:02:30.564 ServerApp] Paths used for configuration of jupyter_notebook_config: /usr/etc/jupyter/jupyter_notebook_config.json [D 2021-09-23 21:02:30.565 ServerApp] Paths used for configuration of jupyter_notebook_config: $HOME/.jupyter/jupyter_notebook_config.json [D 2021-09-23 21:02:30.565 ServerApp] Paths used for configuration of jupyter_server_config: /etc/jupyter/jupyter_server_config.json [D 2021-09-23 21:02:30.565 ServerApp] Paths used for configuration of jupyter_server_config: /usr/local/etc/jupyter/jupyter_server_config.d/jupyter-lsp-jupyter-server.json /usr/local/etc/jupyter/jupyter_server_config.d/jupyter_server_mathjax.json /usr/local/etc/jupyter/jupyter_server_config.d/jupyterlab.json /usr/local/etc/jupyter/jupyter_server_config.d/jupyterlab_code_formatter.json /usr/local/etc/jupyter/jupyter_server_config.d/jupyterlab_git.json /usr/local/etc/jupyter/jupyter_server_config.d/jupytext.json /usr/local/etc/jupyter/jupyter_server_config.d/nbclassic.json /usr/local/etc/jupyter/jupyter_server_config.d/nbdime.json /usr/local/etc/jupyter/jupyter_server_config.json [D 2021-09-23 21:02:30.566 ServerApp] Paths used for configuration of jupyter_server_config: /usr/etc/jupyter/jupyter_server_config.json [D 2021-09-23 21:02:30.567 ServerApp] Paths used for configuration of jupyter_server_config: $HOME/.jupyter/jupyter_server_config.json [D 2021-09-23 21:02:30.603 ServerApp] Checking for $HOME/node_modules/bash-language-server/bin/main.js [D 2021-09-23 21:02:30.603 ServerApp] Checking for $HOME/.local/share/jupyter/lab/staging/node_modules/bash-language-server/bin/main.js [D 2021-09-23 21:02:30.603 ServerApp] Checking for /usr/lib/node_modules/bash-language-server/bin/main.js [D 2021-09-23 21:02:30.603 ServerApp] Checking for /usr/node_modules/bash-language-server/bin/main.js [D 2021-09-23 21:02:30.604 ServerApp] bash-language-server/bin/main.js not found in node_modules of [PosixPath('$HOME'), PosixPath('$HOME/.local/share/jupyter/lab/staging'), PosixPath('/usr/lib'), PosixPath('/usr')] [D 2021-09-23 21:02:30.604 ServerApp] Checking for $HOME/node_modules/dockerfile-language-server-nodejs/lib/server.js [D 2021-09-23 21:02:30.604 ServerApp] Checking for $HOME/.local/share/jupyter/lab/staging/node_modules/dockerfile-language-server-nodejs/lib/server.js [D 2021-09-23 21:02:30.604 ServerApp] Checking for /usr/lib/node_modules/dockerfile-language-server-nodejs/lib/server.js [D 2021-09-23 21:02:30.604 ServerApp] Checking for /usr/node_modules/dockerfile-language-server-nodejs/lib/server.js [D 2021-09-23 21:02:30.604 ServerApp] dockerfile-language-server-nodejs/lib/server.js not found in node_modules of [PosixPath('$HOME'), PosixPath('$HOME/.local/share/jupyter/lab/staging'), PosixPath('/usr/lib'), PosixPath('/usr')] [D 2021-09-23 21:02:30.604 ServerApp] Checking for $HOME/node_modules/javascript-typescript-langserver/lib/language-server-stdio.js [D 2021-09-23 21:02:30.604 ServerApp] Checking for $HOME/.local/share/jupyter/lab/staging/node_modules/javascript-typescript-langserver/lib/language-server-stdio.js [D 2021-09-23 21:02:30.604 ServerApp] Checking for /usr/lib/node_modules/javascript-typescript-langserver/lib/language-server-stdio.js [D 2021-09-23 21:02:30.604 ServerApp] Checking for /usr/node_modules/javascript-typescript-langserver/lib/language-server-stdio.js [D 2021-09-23 21:02:30.605 ServerApp] javascript-typescript-langserver/lib/language-server-stdio.js not found in node_modules of [PosixPath('$HOME'), PosixPath('$HOME/.local/share/jupyter/lab/staging'), PosixPath('/usr/lib'), PosixPath('/usr')] [D 2021-09-23 21:02:30.891 ServerApp] Checking for $HOME/node_modules/sql-language-server/dist/bin/cli.js [D 2021-09-23 21:02:30.891 ServerApp] Checking for $HOME/.local/share/jupyter/lab/staging/node_modules/sql-language-server/dist/bin/cli.js [D 2021-09-23 21:02:30.892 ServerApp] Checking for /usr/lib/node_modules/sql-language-server/dist/bin/cli.js [D 2021-09-23 21:02:30.892 ServerApp] Checking for /usr/node_modules/sql-language-server/dist/bin/cli.js [D 2021-09-23 21:02:30.892 ServerApp] sql-language-server/dist/bin/cli.js not found in node_modules of [PosixPath('$HOME'), PosixPath('$HOME/.local/share/jupyter/lab/staging'), PosixPath('/usr/lib'), PosixPath('/usr')] [D 2021-09-23 21:02:30.893 ServerApp] Checking for $HOME/node_modules/unified-language-server/src/server.js [D 2021-09-23 21:02:30.893 ServerApp] Checking for $HOME/.local/share/jupyter/lab/staging/node_modules/unified-language-server/src/server.js [D 2021-09-23 21:02:30.894 ServerApp] Checking for /usr/lib/node_modules/unified-language-server/src/server.js [D 2021-09-23 21:02:30.894 ServerApp] Checking for /usr/node_modules/unified-language-server/src/server.js [D 2021-09-23 21:02:30.894 ServerApp] unified-language-server/src/server.js not found in node_modules of [PosixPath('$HOME'), PosixPath('$HOME/.local/share/jupyter/lab/staging'), PosixPath('/usr/lib'), PosixPath('/usr')] [D 2021-09-23 21:02:30.894 ServerApp] Checking for $HOME/node_modules/vscode-css-languageserver-bin/cssServerMain.js [D 2021-09-23 21:02:30.894 ServerApp] Checking for $HOME/.local/share/jupyter/lab/staging/node_modules/vscode-css-languageserver-bin/cssServerMain.js [D 2021-09-23 21:02:30.894 ServerApp] Checking for /usr/lib/node_modules/vscode-css-languageserver-bin/cssServerMain.js [D 2021-09-23 21:02:30.895 ServerApp] Checking for /usr/node_modules/vscode-css-languageserver-bin/cssServerMain.js [D 2021-09-23 21:02:30.895 ServerApp] vscode-css-languageserver-bin/cssServerMain.js not found in node_modules of [PosixPath('$HOME'), PosixPath('$HOME/.local/share/jupyter/lab/staging'), PosixPath('/usr/lib'), PosixPath('/usr')] [D 2021-09-23 21:02:30.895 ServerApp] Checking for $HOME/node_modules/vscode-html-languageserver-bin/htmlServerMain.js [D 2021-09-23 21:02:30.895 ServerApp] Checking for $HOME/.local/share/jupyter/lab/staging/node_modules/vscode-html-languageserver-bin/htmlServerMain.js [D 2021-09-23 21:02:30.895 ServerApp] Checking for /usr/lib/node_modules/vscode-html-languageserver-bin/htmlServerMain.js [D 2021-09-23 21:02:30.895 ServerApp] Checking for /usr/node_modules/vscode-html-languageserver-bin/htmlServerMain.js [D 2021-09-23 21:02:30.896 ServerApp] vscode-html-languageserver-bin/htmlServerMain.js not found in node_modules of [PosixPath('$HOME'), PosixPath('$HOME/.local/share/jupyter/lab/staging'), PosixPath('/usr/lib'), PosixPath('/usr')] [D 2021-09-23 21:02:30.896 ServerApp] Checking for $HOME/node_modules/vscode-json-languageserver-bin/jsonServerMain.js [D 2021-09-23 21:02:30.896 ServerApp] Checking for $HOME/.local/share/jupyter/lab/staging/node_modules/vscode-json-languageserver-bin/jsonServerMain.js [D 2021-09-23 21:02:30.896 ServerApp] Checking for /usr/lib/node_modules/vscode-json-languageserver-bin/jsonServerMain.js [D 2021-09-23 21:02:30.896 ServerApp] Checking for /usr/node_modules/vscode-json-languageserver-bin/jsonServerMain.js [D 2021-09-23 21:02:30.896 ServerApp] vscode-json-languageserver-bin/jsonServerMain.js not found in node_modules of [PosixPath('$HOME'), PosixPath('$HOME/.local/share/jupyter/lab/staging'), PosixPath('/usr/lib'), PosixPath('/usr')] [D 2021-09-23 21:02:30.896 ServerApp] Checking for $HOME/node_modules/yaml-language-server/bin/yaml-language-server [D 2021-09-23 21:02:30.897 ServerApp] Checking for $HOME/.local/share/jupyter/lab/staging/node_modules/yaml-language-server/bin/yaml-language-server [D 2021-09-23 21:02:30.897 ServerApp] Checking for /usr/lib/node_modules/yaml-language-server/bin/yaml-language-server [D 2021-09-23 21:02:30.897 ServerApp] Checking for /usr/node_modules/yaml-language-server/bin/yaml-language-server [D 2021-09-23 21:02:30.897 ServerApp] yaml-language-server/bin/yaml-language-server not found in node_modules of [PosixPath('$HOME'), PosixPath('$HOME/.local/share/jupyter/lab/staging'), PosixPath('/usr/lib'), PosixPath('/usr')] [D 2021-09-23 21:02:31.003 ServerApp] [lsp] rootUri will be file://$HOME [D 2021-09-23 21:02:31.003 ServerApp] [lsp] virtualDocumentsUri will be file://$HOME/.virtual_documents [D 2021-09-23 21:02:31.005 ServerApp] [lsp] The following Language Servers will be available: { "pyls": { "argv": [ "/usr/bin/python3", "-m", "pyls" ], "config_schema": { "properties": { "pyls.configurationSources": { "default": [ "pycodestyle" ], "description": "List of configuration sources to use.", "items": { "enum": [ "pycodestyle", "pyflakes" ], "type": "string" }, "type": "array", "uniqueItems": true }, "pyls.executable": { "default": "pyls", "description": "Language server executable", "type": "string" }, "pyls.plugins.jedi_completion.enabled": { "default": true, "description": "Enable or disable the plugin.", "type": "boolean" }, "pyls.plugins.jedi_completion.include_params": { "default": true, "description": "Auto-completes methods and classes with tabstops for each parameter.", "type": "boolean" }, "pyls.plugins.jedi_definition.enabled": { "default": true, "description": "Enable or disable the plugin.", "type": "boolean" }, "pyls.plugins.jedi_definition.follow_builtin_imports": { "default": true, "description": "If follow_imports is True will decide if it follow builtin imports.", "type": "boolean" }, "pyls.plugins.jedi_definition.follow_imports": { "default": true, "description": "The goto call will follow imports.", "type": "boolean" }, "pyls.plugins.jedi_hover.enabled": { "default": true, "description": "Enable or disable the plugin.", "type": "boolean" }, "pyls.plugins.jedi_references.enabled": { "default": true, "description": "Enable or disable the plugin.", "type": "boolean" }, "pyls.plugins.jedi_signature_help.enabled": { "default": true, "description": "Enable or disable the plugin.", "type": "boolean" }, "pyls.plugins.jedi_symbols.all_scopes": { "default": true, "description": "If True lists the names of all scopes instead of only the module namespace.", "type": "boolean" }, "pyls.plugins.jedi_symbols.enabled": { "default": true, "description": "Enable or disable the plugin.", "type": "boolean" }, "pyls.plugins.mccabe.enabled": { "default": true, "description": "Enable or disable the plugin.", "type": "boolean" }, "pyls.plugins.mccabe.threshold": { "default": 15, "description": "The minimum threshold that triggers warnings about cyclomatic complexity.", "type": "number" }, "pyls.plugins.preload.enabled": { "default": true, "description": "Enable or disable the plugin.", "type": "boolean" }, "pyls.plugins.preload.modules": { "default": null, "description": "List of modules to import on startup", "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "pyls.plugins.pycodestyle.enabled": { "default": true, "description": "Enable or disable the plugin.", "type": "boolean" }, "pyls.plugins.pycodestyle.exclude": { "default": null, "description": "Exclude files or directories which match these patterns.", "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "pyls.plugins.pycodestyle.filename": { "default": null, "description": "When parsing directories, only check filenames matching these patterns.", "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "pyls.plugins.pycodestyle.hangClosing": { "default": null, "description": "Hang closing bracket instead of matching indentation of opening bracket's line.", "type": "boolean" }, "pyls.plugins.pycodestyle.ignore": { "default": null, "description": "Ignore errors and warnings", "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "pyls.plugins.pycodestyle.maxLineLength": { "default": null, "description": "Set maximum allowed line length.", "type": "number" }, "pyls.plugins.pycodestyle.select": { "default": null, "description": "Select errors and warnings", "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "pyls.plugins.pydocstyle.addIgnore": { "default": null, "description": "Ignore errors and warnings in addition to the specified convention.", "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "pyls.plugins.pydocstyle.addSelect": { "default": null, "description": "Select errors and warnings in addition to the specified convention.", "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "pyls.plugins.pydocstyle.convention": { "default": null, "description": "Choose the basic list of checked errors by specifying an existing convention.", "enum": [ "pep257", "numpy" ], "type": "string" }, "pyls.plugins.pydocstyle.enabled": { "default": false, "description": "Enable or disable the plugin.", "type": "boolean" }, "pyls.plugins.pydocstyle.ignore": { "default": null, "description": "Ignore errors and warnings", "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "pyls.plugins.pydocstyle.match": { "default": "(?!test_).*\\.py", "description": "Check only files that exactly match the given regular expression; default is to match files that don't start with 'test_' but end with '.py'.", "type": "string" }, "pyls.plugins.pydocstyle.matchDir": { "default": "[^\\.].*", "description": "Search only dirs that exactly match the given regular expression; default is to match dirs which do not begin with a dot.", "type": "string" }, "pyls.plugins.pydocstyle.select": { "default": null, "description": "Select errors and warnings", "items": { "type": "string" }, "type": "array", "uniqueItems": true }, "pyls.plugins.pyflakes.enabled": { "default": true, "description": "Enable or disable the plugin.", "type": "boolean" }, "pyls.plugins.pylint.args": { "default": null, "description": "Arguments to pass to pylint.", "items": { "type": "string" }, "type": "array", "uniqueItems": false }, "pyls.plugins.pylint.enabled": { "default": true, "description": "Enable or disable the plugin.", "type": "boolean" }, "pyls.plugins.rope_completion.enabled": { "default": true, "description": "Enable or disable the plugin.", "type": "boolean" }, "pyls.plugins.yapf.enabled": { "default": true, "description": "Enable or disable the plugin.", "type": "boolean" }, "pyls.rope.extensionModules": { "default": null, "description": "Builtin and c-extension modules that are allowed to be imported and inspected by rope.", "type": "string" }, "pyls.rope.ropeFolder": { "default": null, "description": "The name of the folder in which rope stores project configurations and data. Pass `null` for not using such a folder at all.", "items": { "type": "string" }, "type": "array", "uniqueItems": true } }, "title": "Python Language Server Configuration", "type": "object" }, "display_name": "pyls", "env": { "PYTHONUNBUFFERED": "1" }, "extend": [ { "display_name": "pyls-mypy", "install": { "conda": "conda install pyls-mypy", "pip": "pip install pyls-mypy" } }, { "display_name": "pyls-black", "install": { "conda": "conda install pyls-black", "pip": "pip install pyls-black" } }, { "display_name": "pyls-isort", "install": { "pip": "pip install pyls-isort" } } ], "install": { "conda": "conda install -c conda-forge python-language-server", "pip": "pip install 'python-language-server[all]'" }, "languages": [ "python" ], "mime_types": [ "text/python", "text/x-ipython" ], "urls": { "home": "https://github.com/palantir/python-language-server", "issues": "https://github.com/palantir/python-language-server/issues" }, "version": 2 } } [I 2021-09-23 21:02:31.005 ServerApp] jupyter_lsp | extension was successfully loaded. [I 2021-09-23 21:02:31.007 ServerApp] jupyter_server_mathjax | extension was successfully loaded. [I 2021-09-23 21:02:31.008 LabApp] JupyterLab extension loaded from $HOME/.local/lib/python3.8/site-packages/jupyterlab [I 2021-09-23 21:02:31.008 LabApp] JupyterLab application directory is $HOME/.local/share/jupyter/lab [I 2021-09-23 21:02:31.012 ServerApp] jupyterlab | extension was successfully loaded. [I 2021-09-23 21:02:31.012 ServerApp] jupyterlab_code_formatter | extension was successfully loaded. [I 2021-09-23 21:02:31.015 ServerApp] jupyterlab_git | extension was successfully loaded. [I 2021-09-23 21:02:31.015 ServerApp] [Jupytext Server Extension] NotebookApp.contents_manager_class is (a subclass of) jupytext.TextFileContentsManager already - OK [I 2021-09-23 21:02:31.015 ServerApp] jupytext | extension was successfully loaded. [I 2021-09-23 21:02:31.020 ServerApp] nbclassic | extension was successfully loaded. [D 2021-09-23 21:02:31.171 ServerApp] Using default logger [D 2021-09-23 21:02:31.171 ServerApp] Using default logger [D 2021-09-23 21:02:31.171 ServerApp] Using default logger [D 2021-09-23 21:02:31.171 ServerApp] Using default logger [D 2021-09-23 21:02:31.172 ServerApp] Using default logger [I 2021-09-23 21:02:31.176 ServerApp] nbdime | extension was successfully loaded. [I 2021-09-23 21:02:31.177 ServerApp] nbresuse | extension was successfully loaded. [I 2021-09-23 21:02:31.178 ServerApp] panel | extension was successfully loaded. [I 2021-09-23 21:02:31.178 ServerApp] Serving notebooks from local directory: [I 2021-09-23 21:02:31.178 ServerApp] Jupyter Server 1.6.4 is running at: [I 2021-09-23 21:02:31.178 ServerApp] http://localhost:8888/lab?token=e2fbf74949b40e99b46c21baab16055445f25183e06cb0e9 [I 2021-09-23 21:02:31.178 ServerApp] http://127.0.0.1:8888/lab?token=e2fbf74949b40e99b46c21baab16055445f25183e06cb0e9 [I 2021-09-23 21:02:31.178 ServerApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). [C 2021-09-23 21:02:31.180 ServerApp] To access the server, open this file in a browser: file://$HOME/.local/share/jupyter/runtime/jpserver-3691496-open.html Or copy and paste one of these URLs: http://localhost:8888/lab?token=e2fbf74949b40e99b46c21baab16055445f25183e06cb0e9 http://127.0.0.1:8888/lab?token=e2fbf74949b40e99b46c21baab16055445f25183e06cb0e9 Browser Output568.5f5871d094fc63dfd98f.js?v=5f5871d094fc63dfd98f:1 JupyterLab extension jupyterlab-jupytext is activated 568.5f5871d094fc63dfd98f.js?v=5f5871d094fc63dfd98f:1 Jupytext: adding command=jupytext:ipynb with rank=1 568.5f5871d094fc63dfd98f.js?v=5f5871d094fc63dfd98f:1 Jupytext: adding command=jupytext:auto:light with rank=2 568.5f5871d094fc63dfd98f.js?v=5f5871d094fc63dfd98f:1 Jupytext: adding command=jupytext:auto:percent with rank=3 568.5f5871d094fc63dfd98f.js?v=5f5871d094fc63dfd98f:1 Jupytext: adding command=jupytext:auto:hydrogen with rank=4 568.5f5871d094fc63dfd98f.js?v=5f5871d094fc63dfd98f:1 Jupytext: adding command=jupytext:auto:nomarker with rank=5 568.5f5871d094fc63dfd98f.js?v=5f5871d094fc63dfd98f:1 Jupytext: adding command=jupytext:md with rank=6 568.5f5871d094fc63dfd98f.js?v=5f5871d094fc63dfd98f:1 Jupytext: adding command=jupytext:md:myst with rank=7 568.5f5871d094fc63dfd98f.js?v=5f5871d094fc63dfd98f:1 Jupytext: adding command=jupytext:Rmd with rank=8 568.5f5871d094fc63dfd98f.js?v=5f5871d094fc63dfd98f:1 Jupytext: adding command=jupytext:custom with rank=9 568.5f5871d094fc63dfd98f.js?v=5f5871d094fc63dfd98f:1 Jupytext: adding command=jupytext:none with rank=10 feature.js:7 @krassowski/jupyterlab-lsp:signature settings schema could not be found and was not loaded st @ feature.js:7 activate @ signature.js:132 (anonymous) @ index.es6.js:163 manager.js:105 TypeError: Cannot convert undefined or null to object at Function.entries () at ur.fetchSessions (manager.js:102) fetchSessions @ manager.js:105 async function (async) fetchSessions @ manager.js:86 ur @ manager.js:18 es @ index.js:81 activate @ index.js:167 (anonymous) @ index.es6.js:163 |
@giacomolanciano this setting is granular so you would need to change it in a few places (Notebook panel x 3 for 3 cell types, Code Console panel, Text Editor panel). You probably just set it in one of the places. Instead what I would recommend is going to the topbar menu "Settings" and toggling the "Auto Close Brackets" option: (because you already modified it manually I would try to toggle it twice to make sure all settings get picked up. |
@krassowski, it's now working. Many thanks! |
Description
When I have some text selected and I type the quote char, the selected text gets erased, instead of being wrapped around with quotes. The expected behavior would be the same as when I type
[
,(
or{
when I have some text selected.Reproduce
python3.7 -m venv .venv
source .venv/bin/activate
pip install jupyter jupyterlab
s = text
text
word using mouse or keyboard'
or"
quote char.text
word gets erased and replace by the char typed in step 7.[
,(
or{
. Thetext
word would not be erased and would instead be wrapped around with opposing square brackets, parenthesis or curly brackets, respectively.Expected behavior
The expected behavior would be the same as the char typed was
[
,(
or{
. Thetext
word would not be erased and would instead be wrapped around with opposing square brackets, parenthesis or curly brackets, respectively.Context
Troubleshoot Output
Note: replaced my project and home paths with `$MY_PROJECT_DIR` and `$HOME`
Command Line Output
Note: replaced my project and home paths with `$MY_PROJECT_DIR` and `$HOME`
Browser Output
The Javascript console was clean.The text was updated successfully, but these errors were encountered: