 ;;; lang/data/config.el -*- lexical-binding: t; -*-
 
 (push '("/sxhkdrc" . conf-mode) auto-mode-alist)
+
+
+(def-package! dockerfile-mode
+  :mode "/Dockerfile$")
+
+
+(def-package! graphql-mode
+  :mode "\\.graphql$")
+
+
+(def-package! hexl ; For ROM hacking or debugging
+  :mode ("\\.hex$" . hexl-mode)
+  :mode ("\\.nes$" . hexl-mode))
+
+
+(def-package! json-mode
+  :mode "\\.js\\(on\\|[hl]int\\(rc\\)?\\)$"
+  :config
+  (when (featurep! :feature syntax-checker)
+    (add-hook 'json-mode-hook #'flycheck-mode))
+  (set! :electric 'json-mode :chars '(?\n ?: ?{ ?})))
 
 
 (def-package! nxml-mode

  :mode "\\.vimp$")


(def-package! dockerfile-mode
  :mode "/Dockerfile$")


(def-package! hexl ; For ROM hacking or debugging
  :mode ("\\.hex$" . hexl-mode)
  :mode ("\\.nes$" . hexl-mode))


(def-package! graphql-mode
  :mode "\\.graphql$")


;;

(def-package! toml-mode :mode "\\.toml$")


(def-package! vimrc-mode
  :mode "/\\.?g?vimrc$"
  :mode "\\.vim$"
