diff --git a/core/cubes/clojure.el b/core/cubes/clojure.el index 6f04116..356b8c1 100644 --- a/core/cubes/clojure.el +++ b/core/cubes/clojure.el @@ -25,22 +25,12 @@ (require 'fg42/cube) (require 'fg42/utils) -(defun my-clojure-hook () - (paredit-mode 1) - (aggressive-indent-mode 1) - (rainbow-delimiters-mode 1) - (lsp) - (sm-greek-lambda) - (flymake-mode-off)) - -(defun sm-greek-lambda () - (font-lock-add-keywords nil `(("\\" - (0 (progn (compose-region (match-beginning 0) (match-end 0) - ,(make-char 'greek-iso8859-7 107)) - nil)))))) +(autoload-cube 'fg42/clojure-init "clojure/core.el" "Initalize the Clojure mode.") (defcube fg42/clojure-cube - "Clojure support cube for fg42." + "Clojure support cube for fg42. +Installs and activates clojure-mode, cider, paredit and rainbow-delimiters. +Also activates LSP and converts `fn` to λ." (:title "Clojure cube" :flag clojure :flag-default t) @@ -54,9 +44,9 @@ (fpkg/use cider) (fpkg/use clojure-mode - :hook (clojure-mode . my-clojure-hook) - :config - (setq lsp-enable-indentation nil))) + :hook (clojure-mode . fg42/clojure-init) + :config)) + (provide 'cubes/clojure) ;;; clojure.el ends here diff --git a/core/cubes/clojure/core.el b/core/cubes/clojure/core.el new file mode 100644 index 0000000..14a508e --- /dev/null +++ b/core/cubes/clojure/core.el @@ -0,0 +1,42 @@ +;;; ClojureCubes --- The Clojure cubes for FG42 -*- lexical-binding: t; -*- +;; +;; Copyright (c) 2010-2021 Sameer Rahmani & Contributors +;; +;; Author: Pouya Abbassi +;; URL: https://gitlab.com/FG42/FG42 +;; Version: 3.0.0 +;; +;; 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 . +;; +;;; Commentary: +;;; Code: + + +(defun fg42/fn-greek-lambda () + (font-lock-add-keywords nil `(("\\" + (0 (progn (compose-region (match-beginning 0) (match-end 0) + ,(make-char 'greek-iso8859-7 107)) + nil)))))) + + +(defun fg42/clojure-init () + (paredit-mode 1) + (aggressive-indent-mode 1) + (rainbow-delimiters-mode 1) + (lsp) + (fg42/fn-greek-lambda)) + + +(provide 'cubes/clojure/core) +;;; core.el ends here diff --git a/core/cubes/editor.el b/core/cubes/editor.el index 1e6b2a4..43bc464 100644 --- a/core/cubes/editor.el +++ b/core/cubes/editor.el @@ -171,7 +171,8 @@ For more info checkout [[https://github.com/gregsexton/origami.el]]" (enable-theme 'dracula)))) (defcube fg42/badwolf-theme-cube - "Badwolf theme cube" + "Badwolf theme cube. An Emacs port of Bad Wolf theme for Vim. +https://emacsthemes.com/themes/badwolf-theme.html" (:title "Badwolf theme" :no-flag t) (require 'fg42/themes)