emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/graphql-mode 096df5b167 005/122: Basic line indentation


From: ELPA Syncer
Subject: [nongnu] elpa/graphql-mode 096df5b167 005/122: Basic line indentation
Date: Sat, 29 Jan 2022 08:03:26 -0500 (EST)

branch: elpa/graphql-mode
commit 096df5b167c8b62e45ffa69d5b0a15d28a428e10
Author: David Vazquez Pua <davazp@gmail.com>
Commit: David Vazquez Pua <davazp@gmail.com>

    Basic line indentation
---
 graphql.el | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/graphql.el b/graphql.el
index 960383f1a7..7429d78cad 100644
--- a/graphql.el
+++ b/graphql.el
@@ -31,8 +31,23 @@
     (modify-syntax-entry ?\" "\"" st)
     (modify-syntax-entry ?\# "<" st)
     (modify-syntax-entry ?\n ">" st)
+    (modify-syntax-entry ?\( "()" st)
+    (modify-syntax-entry ?\) ")(" st)
+    (modify-syntax-entry ?\{ "(}" st)
+    (modify-syntax-entry ?\} "){" st)
     st))
 
+
+(defun graphql-indent-line ()
+  (let ((position (point))
+        (indent-pos))
+    (save-excursion
+      (indent-line-to (* 2 (car (syntax-ppss (point-at-bol)))))
+      (setq indent-pos (point)))
+    (when (< position indent-pos)
+      (goto-char indent-pos))))
+
+
 (defvar graphql-font-lock-keywords
   `(
     ;; Definitions
@@ -55,6 +70,7 @@
   ""
   (setq-local comment-start "# ")
   (setq-local comment-start-skip "#+[\t ]*")
+  (setq-local indent-line-function 'graphql-indent-line)
   (setq font-lock-defaults
         (list 'graphql-font-lock-keywords
               nil



reply via email to

[Prev in Thread] Current Thread [Next in Thread]