diff --git a/config/fg42.user.el b/config/fg42.user.el index 0ed4d39..c524c56 100644 --- a/config/fg42.user.el +++ b/config/fg42.user.el @@ -69,6 +69,7 @@ (require 'cubes/bookmark) (require 'cubes/terraform) (require 'cubes/graph) +(require 'cubes/clojure) (defvar global-font-size 12) @@ -85,6 +86,7 @@ (fg42/merge-with-default-flags wm python + clojure golang rcirc vterm @@ -94,7 +96,7 @@ fg42/region-expansion-cube)) -;TODO: Move this blog to a macro or something =========== +;TODO: Move this block to a macro or something =========== (when-wm (setq global-font-size 8) (custom-set-faces @@ -144,6 +146,7 @@ (fg42/merge-with-default-flags wm -python + clojure -golang rcirc vterm @@ -158,6 +161,7 @@ ;; their behavior (fg42/org-cube) +(fg42/modeline-cube) (fg42/cursor-cube :type 'bar :color "#bd93f9") (fg42/font-cube :font-name "Fira code" :font-size global-font-size) (fg42/editor-cube) @@ -174,6 +178,7 @@ (fg42/flycheck-cube) (fg42/golang-cube) +(fg42/clojure-cube) (fg42/projectile-cube) (fg42/vterm-cube) diff --git a/core/cubes/clojure.el b/core/cubes/clojure.el new file mode 100644 index 0000000..d73318e --- /dev/null +++ b/core/cubes/clojure.el @@ -0,0 +1,66 @@ +;;; 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: +(require 'fpkg) +(require 'fg42/cube) +(require 'fg42/utils) + +;(autoload-cube 'fg42/initialize-golang "golang/core.el" "Initalize the go mode.") + + +(defun my-clojure-hook () + (paredit-mode 1) + (aggressive-indent-mode 1) + (rainbow-delimiters-mode 1)) + +(defcube fg42/clojure-cube + "Clojure support cube for fg42." + (:title "Clojure cube" :flag clojure) + + (fpkg/use aggressive-indent-mode + :defer t + :config (paredit-mode +1)) + + (fpkg/use rainbow-delimiters + :defer t + :config (rainbow-delimiters-mode +1)) + + (fpkg/use cider + :defer t) + + (fpkg/use clojure-mode + :defer t + :config + (progn + (add-hook 'clojure-mode-hook 'my-clojure-hook) + (when-flag lsp + (add-hook 'clojure-mode-hook + (lambda () + (when (not (boundp 'lsp)) + (require 'lsp) + (lsp-deferred) + (defconst lsp-enable-indentation -1)))))))) + + +(provide 'cubes/clojure) +;;; clojure.el ends here