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

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

[nongnu] elpa/swift-mode 8e72839 004/496: Add basic syntax table


From: ELPA Syncer
Subject: [nongnu] elpa/swift-mode 8e72839 004/496: Add basic syntax table
Date: Sun, 29 Aug 2021 11:32:56 -0400 (EDT)

branch: elpa/swift-mode
commit 8e72839f4c82bedbcbb0bf3682a5b7810a6ece31
Author: Chris Barrett <chris.d.barrett@me.com>
Commit: Chris Barrett <chris.d.barrett@me.com>

    Add basic syntax table
---
 swift-mode.el | 27 ++++++++++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)

diff --git a/swift-mode.el b/swift-mode.el
index 40de349..748a905 100644
--- a/swift-mode.el
+++ b/swift-mode.el
@@ -89,6 +89,27 @@
 
 ;; Mode definition.
 
+;; FIXME: Syntax table based on tuareg-mode. Not really tested.
+(defvar swift-mode-syntax-table
+  (let ((st (make-syntax-table)))
+    (modify-syntax-entry ?_ "_" st)
+    (modify-syntax-entry ?. "'" st)     ; Make qualified names a single symbol.
+    (modify-syntax-entry ?? ". p" st)
+    (modify-syntax-entry ?& ". p" st)
+    (modify-syntax-entry ?! ". p" st)
+
+    (dolist (c '(?$ ?% ?+ ?- ?/ ?: ?< ?= ?> ?@ ?^ ?|))
+      (modify-syntax-entry c "." st))
+
+    (modify-syntax-entry ?' "_" st)      ; ' is part of symbols (for primes).
+    (modify-syntax-entry ?\" "\"" st)    ; " is a string delimiter
+    (modify-syntax-entry ?\\ "\\" st)
+    (modify-syntax-entry ?*  ". 23" st)
+    (modify-syntax-entry ?\( "()1n" st)
+    (modify-syntax-entry ?\) ")(4n" st)
+    st)
+  "Syntax table for `swift-mode'.")
+
 (defvar swift-mode-map
   (let ((map (make-sparse-keymap)))
     map)
@@ -99,7 +120,11 @@
 
 \\<swift-mode-map>"
   :group 'swift
-  (setq-local font-lock-defaults swift-mode--font-lock-defaults))
+  (setq-local font-lock-defaults swift-mode--font-lock-defaults)
+  (setq-local comment-start "//")
+  (setq-local tab-width 4)
+  (setq-local indent-tabs-mode nil)
+  )
 
 (provide 'swift-mode)
 



reply via email to

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