summaryrefslogtreecommitdiff
path: root/lisp/progmodes/c-ts-mode.el
diff options
context:
space:
mode:
authorYuan Fu <casouri@gmail.com>2023-01-28 16:25:23 -0800
committerYuan Fu <casouri@gmail.com>2023-01-29 00:12:56 -0800
commit4b1714571c8c6cf7ae2ee2602c66b7c903c45a4a (patch)
tree276d35ccf49d19baafba2161a89c79c32ba89e9f /lisp/progmodes/c-ts-mode.el
parentf50cb7d7c4b37cd8e4bb1ffa5d3f9273c7e19e10 (diff)
downloademacs-4b1714571c8c6cf7ae2ee2602c66b7c903c45a4a.tar.gz
emacs-4b1714571c8c6cf7ae2ee2602c66b7c903c45a4a.tar.bz2
emacs-4b1714571c8c6cf7ae2ee2602c66b7c903c45a4a.zip
; Fix byte-compile warnings in c-ts-mode.el
* lisp/progmodes/c-ts-mode.el: (c-ts-mode--get-indent-style): Move down. (c-ts-mode-set-style): Add docstring.
Diffstat (limited to 'lisp/progmodes/c-ts-mode.el')
-rw-r--r--lisp/progmodes/c-ts-mode.el24
1 files changed, 15 insertions, 9 deletions
diff --git a/lisp/progmodes/c-ts-mode.el b/lisp/progmodes/c-ts-mode.el
index 26ad61c975d..353c4c45479 100644
--- a/lisp/progmodes/c-ts-mode.el
+++ b/lisp/progmodes/c-ts-mode.el
@@ -114,15 +114,6 @@ the value of SYM in `c-ts-mode' and `c++-ts-mode' buffers to VAL."
(loop (append res (list buffer)) (cdr buffers))
(loop res (cdr buffers))))))))
-(defun c-ts-mode--get-indent-style (mode)
- "Helper function to set indentation style.
-MODE is either `c' or `cpp'."
- (let ((style
- (if (functionp c-ts-mode-indent-style)
- (funcall c-ts-mode-indent-style)
- (alist-get c-ts-mode-indent-style (c-ts-mode--indent-styles mode)))))
- `((,mode ,@style))))
-
(defcustom c-ts-mode-indent-style 'gnu
"Style used for indentation.
@@ -139,13 +130,28 @@ follows the form of `treesit-simple-indent-rules'."
:set #'c-ts-mode--indent-style-setter
:group 'c)
+(defun c-ts-mode--get-indent-style (mode)
+ "Helper function to set indentation style.
+MODE is either `c' or `cpp'."
+ (let ((style
+ (if (functionp c-ts-mode-indent-style)
+ (funcall c-ts-mode-indent-style)
+ (alist-get c-ts-mode-indent-style (c-ts-mode--indent-styles mode)))))
+ `((,mode ,@style))))
+
(defun c-ts-mode-set-style ()
+ "Set the indent style of C/C++ modes globally.
+
+This changes the current indent style of every C/C++ buffer and
+the default C/C++ indent style in this Emacs session."
(interactive)
+ ;; FIXME: Should we use `derived-mode-p' here?
(or (eq major-mode 'c-ts-mode) (eq major-mode 'c++-ts-mode)
(error "Buffer %s is not a c-ts-mode (c-ts-mode-set-style)"
(buffer-name)))
(c-ts-mode--indent-style-setter
'c-ts-mode-indent-style
+ ;; NOTE: We can probably use the interactive form for this.
(intern
(completing-read
"Select style: "