Skip to content

Commit 9dc6245

Browse files
authored
Merge pull request #949 from rneatherway/dbscheme-mode
Approved by esben-semmle
2 parents 62c0eea + 88bc1be commit 9dc6245

File tree

3 files changed

+39
-1
lines changed

3 files changed

+39
-1
lines changed

misc/emacs/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ Example:
1111
1212
(add-to-list 'load-path "~/ql/misc/emacs")
1313
(require 'ql-mode-base)
14+
(require 'dbscheme-mode)
1415
1516
; ...
1617
```

misc/emacs/dbscheme-mode.el

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
;;; dbscheme-mode.el --- A major mode for editing Semmle database schema files
2+
3+
;;; Commentary:
4+
;;
5+
;; A basic major mode for editing Semmle database schema files.
6+
;;
7+
;; Provides syntax highlightning and comment support.
8+
9+
;;; Code:
10+
11+
(define-generic-mode
12+
'dbscheme-mode ; mode name
13+
14+
;; comments
15+
'(("//" . nil)
16+
("/*" . "*/"))
17+
18+
;; keywords
19+
'("case" "ref" "unique" "of")
20+
21+
;; other things to highlight
22+
`((,ql--primitive-type-regex . 'font-lock-type-face)
23+
("\\<varchar([0-9]+)" . 'font-lock-type-face)
24+
(,ql--at-type-regex 0 'font-lock-type-face)
25+
(,ql--predicate-regex 1 'font-lock-variable-name-face))
26+
27+
;; auto mode alist
28+
'("\\.dbscheme$")
29+
30+
;; other function to run
31+
'((lambda ()
32+
(modify-syntax-entry ?_ "w" (syntax-table))
33+
(modify-syntax-entry ?@ "_" (syntax-table))))
34+
"A mode for database schema files")
35+
36+
(provide 'dbscheme-mode)
37+
;;; dbscheme-mode.el ends here

misc/emacs/ql-mode-base.el

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
;; A basic major mode for editing QL files, a more advanced major
66
;; mode is available for internal use at Semmle.
77
;;
8-
;; Provides syntax highlightning, comment support, and a mode-specific
8+
;; Provides syntax highlighting, comment support, and a mode-specific
99
;; keymap.
1010

1111
;;; Code:

0 commit comments

Comments
 (0)