summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJSDurand <mmemmew@gmail.com>2023-06-12 21:51:48 +0800
committerJSDurand <mmemmew@gmail.com>2023-06-12 21:51:48 +0800
commitd828d7ccffcdac7ba13912f05b7c82ac667a2b3d (patch)
treefdb6595ba7c43ccc469c53bb86fbb6956c2aa21f
parentd2dc1d248f5798c78dad4c68e18e806ffe5683b6 (diff)
wgsl: major mode for WGSL files.
* init.el (wgsl-mode, auto-mode-alist): Add support for WebGpu Shader Language files. * wgsl-conf.el ("wgsl-mode"): Use a package for syntax-highlighting and basic stuff.
-rw-r--r--init.el8
-rw-r--r--wgsl-conf.el31
2 files changed, 39 insertions, 0 deletions
diff --git a/init.el b/init.el
index 32b0b28..ae90b89 100644
--- a/init.el
+++ b/init.el
@@ -166,6 +166,14 @@ no effect."
(add-to-list 'auto-mode-alist (cons "\\.fs$" #'glsl-mode))
(add-to-list 'auto-mode-alist (cons "\\.vs$" #'glsl-mode))
+;;; Prepare for WGSL
+
+;;;###autoload
+(load-after-function wgsl-mode "wgsl-conf.el"
+ "Fake mode that loads the package." nil (wgsl-mode))
+
+(add-to-list 'auto-mode-alist (cons "\\.wgsl$" #'wgsl-mode))
+
;;; rainbow-mode
(use-package "rainbow-mode" 'rainbow-mode)
diff --git a/wgsl-conf.el b/wgsl-conf.el
new file mode 100644
index 0000000..f57a70d
--- /dev/null
+++ b/wgsl-conf.el
@@ -0,0 +1,31 @@
+;;; wgsl-conf.el --- My configurations for Web GPU shader files. -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2023 Jean Sévère Durand
+
+;; Author: Jean Sévère Durand <durand@jsdurand.xyz>
+;; Keywords: convenience, languages, tools
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;;
+
+;;; Code:
+
+(use-package "wgsl-mode" 'wgsl-mode)
+
+
+(provide 'wgsl-conf)
+;;; wgsl-conf.el ends here