branch: externals/bicep-ts-mode commit 0d9ea568c0a106f63076921eb63508b1c1a3a1a7 Author: Jostein Kjønigsen <jost...@kjonigsen.net> Commit: Jostein Kjønigsen <jost...@kjonigsen.net>
Make bicep-ts-mode never insert double-quotes by default. --- bicep-ts-mode.el | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/bicep-ts-mode.el b/bicep-ts-mode.el index f5b8beadb1..b1daf2edf0 100644 --- a/bicep-ts-mode.el +++ b/bicep-ts-mode.el @@ -41,7 +41,7 @@ (declare-function treesit-node-child-by-field-name "treesit.c") (defgroup bicep nil - "Major-mode for editing Bicep-files" + "Major-mode for editing Bicep-files." :group 'languages) (defcustom bicep-ts-mode-indent-offset 2 @@ -49,11 +49,18 @@ :type 'natnum :safe #'natnump) +(defcustom bicep-ts-mode-enforce-quotes t + "Makes bicep-ts-mode enforce the correct kind of quote when creating strings. +Changes may require an Emacs-restart to take effect." + :type 'boolean + :safe #'booleanp) + (defcustom bicep-ts-mode-default-langserver-path (expand-file-name ".cache/bicep/Bicep.LangServer.dll" user-emacs-directory) ;; FIXME: Document the ability to use $ENV vars and glob patterns? "Default expression used to locate Bicep Languageserver. -If found, added to eglot." +If found, added to eglot. +Changes may require an Emacs-restart to take effect." :type 'string) (defvar bicep-ts-mode-syntax-table @@ -302,6 +309,13 @@ Return the first matching node, or nil if none is found." (treesit-major-mode-setup))) +(defun bicep--insert-single-quote () + (interactive) + (insert-char ?')) + +(when bicep-ts-mode-enforce-quotes + (define-key bicep-ts-mode-map (kbd "\"") #'bicep--insert-single-quote)) + ;; Our treesit-font-lock-rules expect this version of the grammar: (add-to-list 'treesit-language-source-alist '(bicep . ("https://github.com/tree-sitter-grammars/tree-sitter-bicep" "v1.1.0")))