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")))