From 115228bfc7a1dd0ebcf1f0d7cae32bb4b2a63443 Mon Sep 17 00:00:00 2001 From: Alex Iverson Date: Mon, 25 Mar 2019 14:50:41 -0600 Subject: [PATCH 1/2] adding a terra module. --- init.example.el | 1 + modules/lang/terra/autoload.el | 8 ++++++++ modules/lang/terra/config.el | 24 ++++++++++++++++++++++++ modules/lang/terra/packages.el | 8 ++++++++ 4 files changed, 41 insertions(+) create mode 100644 modules/lang/terra/autoload.el create mode 100644 modules/lang/terra/config.el create mode 100644 modules/lang/terra/packages.el diff --git a/init.example.el b/init.example.el index beeddd51d..d5e4f241c 100644 --- a/init.example.el +++ b/init.example.el @@ -129,6 +129,7 @@ (sh +fish) ; she sells (ba|z|fi)sh shells on the C xor ;;solidity ; do you need a blockchain? No. ;;swift ; who asked for emoji variables? + ;;terra ; Earth and Moon in alignment for performance. ;;web ; the tubes ;;vala ; GObjective-C diff --git a/modules/lang/terra/autoload.el b/modules/lang/terra/autoload.el new file mode 100644 index 000000000..0920c3e08 --- /dev/null +++ b/modules/lang/terra/autoload.el @@ -0,0 +1,8 @@ +;;; lang/terra/autoload.el -*- lexical-binding: t; -*- + +;;;###autoload +(defun +terra/open-repl () + "Open Terra REPL." + (interactive) + (terra-start-process "terra" "terra") + (pop-to-buffer terra-process-buffer)) diff --git a/modules/lang/terra/config.el b/modules/lang/terra/config.el new file mode 100644 index 000000000..44f74ee2b --- /dev/null +++ b/modules/lang/terra/config.el @@ -0,0 +1,24 @@ +;;; lang/lua/config.el -*- lexical-binding: t; -*- + +;; sp's default rules are obnoxious, so disable them +(provide 'smartparens-terra) + + +;; +;; Major modes + +(def-package! terra-mode + :defer t + :init + ;; lua-indent-level defaults to 3 otherwise. Madness. + (setq terra-indent-level tab-width) + :config + (set-lookup-handlers! 'terra-mode :documentation 'terra-search-documentation) + (set-electric! 'terra-mode :words '("else" "end")) + (set-repl-handler! 'terra-mode #'+terra/open-repl) + (set-company-backend! 'terra-mode '(company-lua company-yasnippet))) + + +;; +;; Frameworks + diff --git a/modules/lang/terra/packages.el b/modules/lang/terra/packages.el new file mode 100644 index 000000000..90115f396 --- /dev/null +++ b/modules/lang/terra/packages.el @@ -0,0 +1,8 @@ +;; -*- no-byte-compile: t; -*- +;;; lang/lua/packages.el + +(package! terra-mode :recipe (:fetcher github :repo "StanfordLegion/terra-mode")) + +(when (featurep! :completion company) + (package! company-lua)) + From 3ba364a0a971a3862ad12451d22f132f3cc327b0 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 5 Apr 2019 02:15:23 -0400 Subject: [PATCH 2/2] Remove unnecessary config - smartparens-terra doesn't exist - terra-indent-level has a sensible initial value, so it doesn't need to be reset --- modules/lang/terra/config.el | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/modules/lang/terra/config.el b/modules/lang/terra/config.el index 44f74ee2b..27515edb6 100644 --- a/modules/lang/terra/config.el +++ b/modules/lang/terra/config.el @@ -1,24 +1,12 @@ ;;; lang/lua/config.el -*- lexical-binding: t; -*- -;; sp's default rules are obnoxious, so disable them -(provide 'smartparens-terra) - - ;; ;; Major modes (def-package! terra-mode :defer t - :init - ;; lua-indent-level defaults to 3 otherwise. Madness. - (setq terra-indent-level tab-width) :config (set-lookup-handlers! 'terra-mode :documentation 'terra-search-documentation) (set-electric! 'terra-mode :words '("else" "end")) (set-repl-handler! 'terra-mode #'+terra/open-repl) (set-company-backend! 'terra-mode '(company-lua company-yasnippet))) - - -;; -;; Frameworks -