From deba2c035794cdb0f129325487cd3d570301ebc4 Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Sat, 8 Feb 2025 14:14:06 -0500 Subject: Update bandali-essentials and add bandali-prog --- .emacs.d/lisp/bandali-prog.el | 98 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 .emacs.d/lisp/bandali-prog.el (limited to '.emacs.d/lisp/bandali-prog.el') diff --git a/.emacs.d/lisp/bandali-prog.el b/.emacs.d/lisp/bandali-prog.el new file mode 100644 index 0000000..66f2c3a --- /dev/null +++ b/.emacs.d/lisp/bandali-prog.el @@ -0,0 +1,98 @@ +;;; bandali-prog.el --- programming modes setup -*- lexical-binding: t; -*- + +;; Copyright (c) 2018-2025 Amin Bandali + +;; Author: Amin Bandali +;; Keywords: languages + +;; 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: + +;; My customizations for various programming language modes. + +;;; Code: + +(use-package elisp-mode + :bind + ("C-c e e" . eval-last-sexp)) + +(use-package pp + :bind + ("C-c e m" . pp-macroexpand-last-sexp)) + +(use-package lisp-mode + :hook + (lisp-interaction-mode . (lambda () (setq-local indent-tabs-mode nil)))) + +(use-package alloy-mode + :disabled + :load-path "lisp/alloy-mode" + :mode "\\.\\(als\\|dsh\\)\\'" + :hook + (alloy-mode . (lambda nil (setq-local indent-tabs-mode nil))) + :init + (defun b/alloy-simple-indent (start end) + (interactive "r") + ;; (if (region-active-p) + ;; (indent-rigidly start end alloy-basic-offset) + ;; (if (bolp) + ;; (indent-rigidly (line-beginning-position) + ;; (line-end-position) + ;; alloy-basic-offset))) + (indent-to (+ (current-column) alloy-basic-offset))) + :bind + (:map + alloy-mode-map + (;; ("TAB" . b/alloy-simple-indent) + "RET" . electric-newline-and-maybe-indent)) + :custom + (alloy-basic-offset 2)) + +;; (eval-when-compile (defvar lean-mode-map)) +;; (run-with-idle-timer 0.4 nil #'require 'lean-mode) +;; (with-eval-after-load 'lean-mode +;; (require 'lean-input) +;; (setq default-input-method "Lean" +;; lean-input-tweak-all '(lean-input-compose +;; (lean-input-prepend "/") +;; (lean-input-nonempty)) +;; lean-input-user-translations '(("/" "/"))) +;; (lean-input-setup) +;; ;; local key bindings +;; (define-key lean-mode-map (kbd "S-SPC") #'company-complete)) + +(use-package sgml-mode + :custom + (sgml-basic-offset 0)) + +(use-package css-mode + :custom + (css-indent-offset 2)) + +(use-package cmake-mode + :mode + (("CMakeLists\\.txt\\'" . cmake-mode) + ("\\.cmake\\'" . cmake-mode))) + +(use-package cmake-font-lock + :after cmake-mode + :load-path "lisp/cmake-font-lock") + +(use-package reftex + :hook + (latex-mode . reftex-mode)) + +(provide 'bandali-prog) +;;; bandali-prog.el ends here -- cgit v1.2.3-60-g2f50