Require LSP in Ruby
Some checks failed
/ Test config on ${{matrix.node}} (20) (push) Has been cancelled
Some checks failed
/ Test config on ${{matrix.node}} (20) (push) Has been cancelled
This commit is contained in:
parent
c2caa56b35
commit
13ed56fa04
18 changed files with 87 additions and 64 deletions
|
|
@ -88,7 +88,6 @@
|
||||||
(define-key text-mode-map (kbd "<f13>") 'icejam/insert-space-and-complete)
|
(define-key text-mode-map (kbd "<f13>") 'icejam/insert-space-and-complete)
|
||||||
(define-key text-mode-map (kbd "TAB") 'company-indent-or-complete-common)
|
(define-key text-mode-map (kbd "TAB") 'company-indent-or-complete-common)
|
||||||
|
|
||||||
|
|
||||||
;;; Copilot and other GPT stuff
|
;;; Copilot and other GPT stuff
|
||||||
(use-package copilot
|
(use-package copilot
|
||||||
:straight (:host github :repo "copilot-emacs/copilot.el" :files ("*.el"))
|
:straight (:host github :repo "copilot-emacs/copilot.el" :files ("*.el"))
|
||||||
|
|
@ -104,6 +103,7 @@
|
||||||
|
|
||||||
(defcustom anthropic-api-key "api-key" "The value of your Anthropic API key."
|
(defcustom anthropic-api-key "api-key" "The value of your Anthropic API key."
|
||||||
:type 'string
|
:type 'string
|
||||||
|
:group 'icejam
|
||||||
:initialize 'custom-initialize-set)
|
:initialize 'custom-initialize-set)
|
||||||
|
|
||||||
(setq
|
(setq
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@
|
||||||
'default frame :font
|
'default frame :font
|
||||||
(format "%s %d" icejam-font (- icejam-font-size 2))))))
|
(format "%s %d" icejam-font (- icejam-font-size 2))))))
|
||||||
|
|
||||||
(defun set-font (name size)
|
(defun icejam/set-font (name size)
|
||||||
"Set font to NAME and its SIZE to X pixels."
|
"Set font to NAME and its SIZE to X pixels."
|
||||||
(interactive "sNew font: \nnEnter size for %s: ")
|
(interactive "sNew font: \nnEnter size for %s: ")
|
||||||
(setq icejam-font name)
|
(setq icejam-font name)
|
||||||
|
|
@ -65,7 +65,7 @@
|
||||||
;; (defvar icejam-font "IBM Plex Mono")
|
;; (defvar icejam-font "IBM Plex Mono")
|
||||||
(defvar icejam-font-size 14)
|
(defvar icejam-font-size 14)
|
||||||
|
|
||||||
(defun set-font-to-screen ()
|
(defun icejam/set-font-to-screen ()
|
||||||
"Automatically set font size to suit the monitor."
|
"Automatically set font size to suit the monitor."
|
||||||
;; If display is set to emulate FullHD resultion or less, make the font
|
;; If display is set to emulate FullHD resultion or less, make the font
|
||||||
;; smaller.
|
;; smaller.
|
||||||
|
|
@ -73,38 +73,38 @@
|
||||||
(cond ((eq (x-display-list) nil))
|
(cond ((eq (x-display-list) nil))
|
||||||
;; built-in screen
|
;; built-in screen
|
||||||
((>= 1050 (x-display-pixel-height))
|
((>= 1050 (x-display-pixel-height))
|
||||||
(set-font icejam-font icejam-font-size))
|
(icejam/set-font icejam-font icejam-font-size))
|
||||||
|
|
||||||
;; 4K screen on a Mac
|
;; 4K screen on a Mac
|
||||||
((>= 1080 (x-display-pixel-height))
|
((>= 1080 (x-display-pixel-height))
|
||||||
(set-font icejam-font icejam-font-size))
|
(icejam/set-font icejam-font icejam-font-size))
|
||||||
|
|
||||||
;; Other screens
|
;; Other screens
|
||||||
((>= 1120 (x-display-pixel-height))
|
((>= 1120 (x-display-pixel-height))
|
||||||
(set-font icejam-font icejam-font-size))
|
(icejam/set-font icejam-font icejam-font-size))
|
||||||
|
|
||||||
((>= 1440 (x-display-pixel-height))
|
((>= 1440 (x-display-pixel-height))
|
||||||
(set-font icejam-font (+ icejam-font-size 3)))
|
(icejam/set-font icejam-font (+ icejam-font-size 3)))
|
||||||
|
|
||||||
((>= 1920 (x-display-pixel-height))
|
((>= 1920 (x-display-pixel-height))
|
||||||
(set-font icejam-font icejam-font-size))
|
(icejam/set-font icejam-font icejam-font-size))
|
||||||
|
|
||||||
;; 4K screen on Windows or Linux
|
;; 4K screen on Windows or Linux
|
||||||
((>= 2160 (x-display-pixel-height))
|
((>= 2160 (x-display-pixel-height))
|
||||||
(set-font icejam-font (- icejam-font-size 3)))
|
(icejam/set-font icejam-font (- icejam-font-size 3)))
|
||||||
|
|
||||||
;; Default
|
;; Default
|
||||||
(t (set-font icejam-font (- icejam-font-size 3)))))
|
(t (icejam/set-font icejam-font (- icejam-font-size 3)))))
|
||||||
|
|
||||||
;; Do it automatically on startup
|
;; Do it automatically on startup
|
||||||
(set-font-to-screen)
|
(icejam/set-font-to-screen)
|
||||||
|
|
||||||
(defun set-font-size (size)
|
(defun icejam/set-font-size (size)
|
||||||
"Set font to a specified SIZE."
|
"Set font to a specified SIZE."
|
||||||
(interactive "nEnter size for font: ")
|
(interactive "nEnter size for font: ")
|
||||||
(set-font icejam-font size))
|
(icejam/set-font icejam-font size))
|
||||||
|
|
||||||
(defun set-font-size-for-this-frame (new-size)
|
(defun icejam/set-font-size-for-this-frame (new-size)
|
||||||
"Set font NEW-SIZE for this frame only."
|
"Set font NEW-SIZE for this frame only."
|
||||||
(interactive "nEnter new size for font in this frame: ")
|
(interactive "nEnter new size for font in this frame: ")
|
||||||
(set-frame-font (format "%s %d" icejam-font new-size)))
|
(set-frame-font (format "%s %d" icejam-font new-size)))
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,9 @@
|
||||||
|
|
||||||
(require 'icejam-prog-mode)
|
(require 'icejam-prog-mode)
|
||||||
|
|
||||||
(defun icejam-lang-clang/activate-clang-mode ()
|
(declare-function column-enforce-n "column-enforce-mode" (number))
|
||||||
|
|
||||||
|
(defun icejam-lang/activate-clang-mode ()
|
||||||
"Goodies for editing c files."
|
"Goodies for editing c files."
|
||||||
|
|
||||||
;; Set column width to 100
|
;; Set column width to 100
|
||||||
|
|
@ -22,7 +24,7 @@
|
||||||
(add-to-list (make-local-variable 'company-backends)
|
(add-to-list (make-local-variable 'company-backends)
|
||||||
'(company-etags company-yasnippet)))
|
'(company-etags company-yasnippet)))
|
||||||
|
|
||||||
(add-hook 'c-mode-hook 'icejam-lang-clang/activate-clang-mode)
|
(add-hook 'c-mode-hook 'icejam-lang/activate-clang-mode)
|
||||||
|
|
||||||
(provide 'icejam-lang-clang)
|
(provide 'icejam-lang-clang)
|
||||||
;;; icejam-lang-clang.el ends here
|
;;; icejam-lang-clang.el ends here
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,12 @@
|
||||||
;;; languages/clojure -- summary -*- lexical-binding: t; -*-
|
;;; icejam-lang-clojure.el -- summary -*- lexical-binding: t; -*-
|
||||||
;;; Commentary:
|
;;; Commentary:
|
||||||
;;; Code:
|
;;; Code:
|
||||||
|
|
||||||
(require 'icejam-prog-mode)
|
(require 'icejam-prog-mode)
|
||||||
(require 'icejam-transient)
|
(require 'icejam-transient)
|
||||||
|
|
||||||
|
(declare-function column-enforce-n "column-enforce-mode" (number))
|
||||||
|
|
||||||
(use-package clojure-mode :defer t :straight t)
|
(use-package clojure-mode :defer t :straight t)
|
||||||
|
|
||||||
(use-package cider
|
(use-package cider
|
||||||
|
|
@ -20,7 +22,7 @@
|
||||||
:straight t)
|
:straight t)
|
||||||
|
|
||||||
;; Transient
|
;; Transient
|
||||||
(transient-define-prefix icejam-lang-clojure/cider-context-menu ()
|
(transient-define-prefix icejam-lang/cider-context-menu ()
|
||||||
"Clojure Buffer Commands."
|
"Clojure Buffer Commands."
|
||||||
[""
|
[""
|
||||||
["Cider"
|
["Cider"
|
||||||
|
|
@ -34,29 +36,28 @@
|
||||||
[""
|
[""
|
||||||
("q" "Quit" keyboard-quit)])
|
("q" "Quit" keyboard-quit)])
|
||||||
|
|
||||||
(defun icejam-lang-clojure/activate-clojure-mode ()
|
(defun icejam-lang/activate-clojure-mode ()
|
||||||
"Goodies for clojure files."
|
"Goodies for clojure files."
|
||||||
(icejam/set-indent 2) ;; Default indentation of 2 characters
|
(icejam/set-indent 2) ;; Default indentation of 2 characters
|
||||||
(column-enforce-n 80)
|
(column-enforce-n 80)
|
||||||
(clj-refactor-mode 1)
|
|
||||||
(cider-mode 1)
|
(cider-mode 1)
|
||||||
(setq-local indent-tabs-mode nil)
|
(setq-local indent-tabs-mode nil)
|
||||||
|
|
||||||
(define-key
|
(define-key
|
||||||
clojure-mode-map (kbd "C-c l") 'icejam-lang-clojure/cider-context-menu)
|
clojure-mode-map (kbd "C-c l") 'icejam-lang/cider-context-menu)
|
||||||
|
|
||||||
;; Do not enable paredit for clojure
|
;; Do not enable paredit for clojure
|
||||||
;; (paredit-mode 1)
|
;; (paredit-mode 1)
|
||||||
;; Do not show separate error window when in REPL
|
;; Do not show separate error window when in REPL
|
||||||
(setq cider-show-error-buffer 'except-in-repl))
|
(setq cider-show-error-buffer 'except-in-repl))
|
||||||
|
|
||||||
(add-hook 'clojure-mode-hook 'icejam-lang-clojure/activate-clojure-mode)
|
(add-hook 'clojure-mode-hook 'icejam-lang/activate-clojure-mode)
|
||||||
|
|
||||||
(defun icejam-lang-clojure/clj-repl-config ()
|
(defun icejam-lang/clojure-repl-config ()
|
||||||
"Do not show stacktrace when in REPL."
|
"Do not show stacktrace when in REPL."
|
||||||
(setq-local cider-show-error-buffer 'except-in-repl))
|
(setq-local cider-show-error-buffer 'except-in-repl))
|
||||||
|
|
||||||
(add-hook 'cider-repl-mode-hook 'icejam-lang-clojure/clj-repl-config)
|
(add-hook 'cider-repl-mode-hook 'icejam-lang/clojure-repl-config)
|
||||||
(add-hook 'cider-mode-hook #'cider-company-enable-fuzzy-completion)
|
(add-hook 'cider-mode-hook #'cider-company-enable-fuzzy-completion)
|
||||||
|
|
||||||
(provide 'icejam-lang-clojure)
|
(provide 'icejam-lang-clojure)
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,6 @@
|
||||||
(use-package slime-company :straight t
|
(use-package slime-company :straight t
|
||||||
:requires (slime company))
|
:requires (slime company))
|
||||||
|
|
||||||
|
|
||||||
(setq inferior-lisp-program "sbcl")
|
(setq inferior-lisp-program "sbcl")
|
||||||
(slime-setup '(slime-fancy slime-company slime-quicklisp slime-asdf))
|
(slime-setup '(slime-fancy slime-company slime-quicklisp slime-asdf))
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,11 +7,11 @@
|
||||||
(use-package dart-mode :straight t :defer t)
|
(use-package dart-mode :straight t :defer t)
|
||||||
(use-package lsp-dart :defer t :straight t :requires (dart-mode lsp))
|
(use-package lsp-dart :defer t :straight t :requires (dart-mode lsp))
|
||||||
|
|
||||||
(defun icejam-lang-dart/activate-dart-mode ()
|
(defun icejam-lang/activate-dart-mode ()
|
||||||
"Reconfigure dart mode for your own purposes."
|
"Reconfigure dart mode for your own purposes."
|
||||||
(lsp))
|
(lsp))
|
||||||
|
|
||||||
(add-hook 'dart-mode-hook 'icejam-lang-dart/activate-dart-mode)
|
(add-hook 'dart-mode-hook 'icejam-lang/activate-dart-mode)
|
||||||
|
|
||||||
(provide 'icejam-lang-dart)
|
(provide 'icejam-lang-dart)
|
||||||
;;; icejam-lang-dart.el ends here
|
;;; icejam-lang-dart.el ends here
|
||||||
|
|
|
||||||
|
|
@ -7,11 +7,11 @@
|
||||||
|
|
||||||
(use-package dhall-mode :straight t :defer t :requires (lsp))
|
(use-package dhall-mode :straight t :defer t :requires (lsp))
|
||||||
|
|
||||||
(defun icejam-lang-dhall/activate-dhall-mode ()
|
(defun icejam-lang/activate-dhall-mode ()
|
||||||
"Reconfigure dhall mode for your own purposes."
|
"Reconfigure dhall mode for your own purposes."
|
||||||
(lsp))
|
(lsp))
|
||||||
|
|
||||||
(add-hook 'dhall-mode-hook 'icejam-lang-dhall/activate-dhall-mode)
|
(add-hook 'dhall-mode-hook 'icejam-lang/activate-dhall-mode)
|
||||||
(add-hook 'dhall-mode-hook 'display-line-numbers-mode)
|
(add-hook 'dhall-mode-hook 'display-line-numbers-mode)
|
||||||
|
|
||||||
(provide 'icejam-lang-dhall)
|
(provide 'icejam-lang-dhall)
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,8 @@
|
||||||
|
|
||||||
(require 'icejam-prog-mode)
|
(require 'icejam-prog-mode)
|
||||||
|
|
||||||
|
(declare-function column-enforce-n "column-enforce-mode" (number))
|
||||||
|
|
||||||
(transient-define-prefix icejam/elisp-lang-menu ()
|
(transient-define-prefix icejam/elisp-lang-menu ()
|
||||||
"Elisp Buffer Commands."
|
"Elisp Buffer Commands."
|
||||||
[""
|
[""
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,13 @@
|
||||||
(require 'icejam-flycheck)
|
(require 'icejam-flycheck)
|
||||||
(require 'icejam-transient)
|
(require 'icejam-transient)
|
||||||
|
|
||||||
|
(declare-function lsp "lsp-mode" nil)
|
||||||
|
(declare-function column-enforce-n "column-enforce-mode" (number))
|
||||||
|
|
||||||
(use-package elixir-mode :defer t :straight t)
|
(use-package elixir-mode :defer t :straight t)
|
||||||
(use-package elixir-ts-mode :requires (elixir-mode lsp-mode lsp-ui) :straight t)
|
(use-package elixir-ts-mode :straight t
|
||||||
|
:requires (elixir-mode lsp-mode lsp-ui)
|
||||||
|
:defines (elixir-ts-mode-map))
|
||||||
|
|
||||||
(add-to-list 'auto-mode-alist '("\\.exs\\'" . elixir-ts-mode))
|
(add-to-list 'auto-mode-alist '("\\.exs\\'" . elixir-ts-mode))
|
||||||
(add-to-list 'auto-mode-alist '("\\.ex\\'" . elixir-ts-mode))
|
(add-to-list 'auto-mode-alist '("\\.ex\\'" . elixir-ts-mode))
|
||||||
|
|
@ -38,6 +43,7 @@
|
||||||
;; If needed, switch the one below to false to disable documentation pop-ups
|
;; If needed, switch the one below to false to disable documentation pop-ups
|
||||||
;; (setq-local lsp-ui-doc-enable t)
|
;; (setq-local lsp-ui-doc-enable t)
|
||||||
|
|
||||||
|
;; Enable mode map
|
||||||
(define-key elixir-ts-mode-map (kbd "C-c l") 'icejam/elixir-lang-menu)
|
(define-key elixir-ts-mode-map (kbd "C-c l") 'icejam/elixir-lang-menu)
|
||||||
|
|
||||||
;; Company list override
|
;; Company list override
|
||||||
|
|
|
||||||
|
|
@ -6,44 +6,54 @@
|
||||||
(require 'icejam-lsp)
|
(require 'icejam-lsp)
|
||||||
(require 'icejam-projectile)
|
(require 'icejam-projectile)
|
||||||
|
|
||||||
|
(declare-function lsp "lsp-mode" nil)
|
||||||
|
(declare-function column-enforce-n "column-enforce-mode" (number))
|
||||||
|
|
||||||
(use-package erlang
|
(use-package erlang
|
||||||
:defer t
|
:defer t
|
||||||
:straight t
|
:straight t
|
||||||
:requires (lsp-mode lsp-ui))
|
:requires (lsp-mode lsp-ui))
|
||||||
|
|
||||||
(cl-defun erlang/emacs-path (erlang-version)
|
(cl-defun icejam/erlang-emacs-path (erlang-version)
|
||||||
|
"Find path to Emacs tooling for ERLANG-VERSION."
|
||||||
(car (split-string
|
(car (split-string
|
||||||
(shell-command-to-string
|
(shell-command-to-string
|
||||||
(format "find $HOME/.asdf/installs/erlang/%s/ -name erlang.el"
|
(format "find $HOME/.asdf/installs/erlang/%s/ -name erlang.el"
|
||||||
erlang-version)) "erlang.el")))
|
erlang-version)) "erlang.el")))
|
||||||
|
|
||||||
(cl-defun erlang/erlang-path (erlang-version)
|
(cl-defun icejam/erlang-path (erlang-version)
|
||||||
|
"Find asdf path for ERLANG-VERSION."
|
||||||
(format "$HOME/.asdf/installs/erlang/%s/" erlang-version))
|
(format "$HOME/.asdf/installs/erlang/%s/" erlang-version))
|
||||||
|
|
||||||
(defun erlang/erlang-plist (erlang-version)
|
(defun icejam/erlang-plist (erlang-version)
|
||||||
"Create property list for ERLANG-VERSION."
|
"Create property list for ERLANG-VERSION."
|
||||||
(list :version erlang-version
|
(list :version erlang-version
|
||||||
:erlang-path (erlang/erlang-path erlang-version)
|
:erlang-path (icejam/erlang-path erlang-version)
|
||||||
:emacs-path (erlang/emacs-path erlang-version)))
|
:emacs-path (icejam/erlang-emacs-path erlang-version)))
|
||||||
|
|
||||||
(cl-defun erlang/installed-erlangs ()
|
(cl-defun icejam/installed-erlangs ()
|
||||||
|
"List Erlang versions installed with asdf."
|
||||||
(split-string
|
(split-string
|
||||||
(shell-command-to-string
|
(shell-command-to-string
|
||||||
(format "asdf list erlang"))))
|
(format "asdf list erlang"))))
|
||||||
|
|
||||||
(cl-defun erlang/available-versions--plist ()
|
(cl-defun icejam/erlang-available-versions--plist ()
|
||||||
(mapcar 'erlang/erlang-plist (erlang/installed-erlangs)))
|
"Create plist for all installed Erlang versions."
|
||||||
|
(mapcar 'icejam/erlang-plist (icejam/installed-erlangs)))
|
||||||
|
|
||||||
(defvar erlang/available-versions (erlang/available-versions--plist))
|
(defvar icejam/erlang-available-versions (icejam/erlang-available-versions--plist))
|
||||||
|
|
||||||
(cl-defun erlang/currently-in-use ()
|
(cl-defun icejam/erlang-currently-in-use ()
|
||||||
|
"Get Erlang version currently in use."
|
||||||
(car (split-string (shell-command-to-string "asdf current erlang"))))
|
(car (split-string (shell-command-to-string "asdf current erlang"))))
|
||||||
|
|
||||||
(cl-defun erlang/current-version--plistp (erlang-plist)
|
(cl-defun icejam/erlang-current-version--plistp (erlang-plist)
|
||||||
(equal (plist-get erlang-plist :version) (erlang/currently-in-use)))
|
"Check if currently in use Erlang is the same as the one in ERLANG-PLIST."
|
||||||
|
(equal (plist-get erlang-plist :version) (icejam/erlang-currently-in-use)))
|
||||||
|
|
||||||
(cl-defun erlang/current-plist ()
|
(cl-defun icejam/erlang-current-plist ()
|
||||||
(seq-find 'erlang/current-version--plistp erlang/available-versions))
|
"Create plist from current Erlang version."
|
||||||
|
(seq-find 'erlang/current-version--plistp icejam/erlang-available-versions))
|
||||||
|
|
||||||
;; Flycheck checker for Erlang
|
;; Flycheck checker for Erlang
|
||||||
(flycheck-define-checker erlang-otp
|
(flycheck-define-checker erlang-otp
|
||||||
|
|
@ -60,7 +70,7 @@
|
||||||
"All things for all Erlang, including header files."
|
"All things for all Erlang, including header files."
|
||||||
(when (featurep 'erlang-start) (unload-feature 'erlang-start))
|
(when (featurep 'erlang-start) (unload-feature 'erlang-start))
|
||||||
|
|
||||||
(defvar erlang/current-erlang (erlang/current-plist))
|
(defvar erlang/current-erlang (icejam/erlang-current-plist))
|
||||||
|
|
||||||
(add-to-list (make-local-variable 'load-path)
|
(add-to-list (make-local-variable 'load-path)
|
||||||
(plist-get erlang/current-erlang :emacs-path))
|
(plist-get erlang/current-erlang :emacs-path))
|
||||||
|
|
|
||||||
|
|
@ -19,13 +19,13 @@
|
||||||
:repo "gleam-lang/gleam-mode"
|
:repo "gleam-lang/gleam-mode"
|
||||||
:files ("gleam-mode.el" "tree-sitter-gleam")))
|
:files ("gleam-mode.el" "tree-sitter-gleam")))
|
||||||
|
|
||||||
(defun icejam-lang-gleam/activate-gleam-mode ()
|
(defun icejam-lang/activate-gleam-mode ()
|
||||||
"All things Gleam."
|
"All things Gleam."
|
||||||
(icejam/set-indent 2)
|
(icejam/set-indent 2)
|
||||||
(column-enforce-n 100)
|
(column-enforce-n 100)
|
||||||
(lsp))
|
(lsp))
|
||||||
|
|
||||||
(add-hook 'gleam-mode-hook 'icejam-lang-gleam/activate-gleam-mode)
|
(add-hook 'gleam-mode-hook 'icejam-lang/activate-gleam-mode)
|
||||||
|
|
||||||
(provide 'icejam-lang-gleam)
|
(provide 'icejam-lang-gleam)
|
||||||
;;; icejam-lang-gleam.el ends here
|
;;; icejam-lang-gleam.el ends here
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
:defer t
|
:defer t
|
||||||
:init (setq-default markdown-command "pandoc"))
|
:init (setq-default markdown-command "pandoc"))
|
||||||
|
|
||||||
(defun icejam-lang-markdown/activate-markdown-mode ()
|
(defun icejam-lang/activate-markdown-mode ()
|
||||||
"Reconfigure markdown mode for your own purposes."
|
"Reconfigure markdown mode for your own purposes."
|
||||||
(icejam/set-indent 2)
|
(icejam/set-indent 2)
|
||||||
(column-enforce-n 10000)
|
(column-enforce-n 10000)
|
||||||
|
|
@ -21,7 +21,7 @@
|
||||||
(define-key markdown-mode-map (kbd "C-c <down>") nil)
|
(define-key markdown-mode-map (kbd "C-c <down>") nil)
|
||||||
(define-key markdown-mode-map (kbd "C-c C-v") 'markdown-preview))
|
(define-key markdown-mode-map (kbd "C-c C-v") 'markdown-preview))
|
||||||
|
|
||||||
(add-hook 'markdown-mode-hook 'icejam-lang-markdown/activate-markdown-mode)
|
(add-hook 'markdown-mode-hook 'icejam-lang/activate-markdown-mode)
|
||||||
(add-hook 'markdown-mode-hook 'display-line-numbers-mode)
|
(add-hook 'markdown-mode-hook 'display-line-numbers-mode)
|
||||||
|
|
||||||
(provide 'icejam-lang-markdown)
|
(provide 'icejam-lang-markdown)
|
||||||
|
|
|
||||||
|
|
@ -66,8 +66,8 @@
|
||||||
;; Use tuareg-opam with lock files
|
;; Use tuareg-opam with lock files
|
||||||
(add-to-list 'auto-mode-alist '("\\.opam.locked\\'" . tuareg-opam-mode))
|
(add-to-list 'auto-mode-alist '("\\.opam.locked\\'" . tuareg-opam-mode))
|
||||||
|
|
||||||
(transient-define-prefix icejam-lang-ocaml/reasonml-context-menu ()
|
(transient-define-prefix icejam-lang/reasonml-context-menu ()
|
||||||
"ReasonML Actions"
|
"ReasonML Actions."
|
||||||
["ReasonML actions"
|
["ReasonML actions"
|
||||||
[""
|
[""
|
||||||
("r" "Reload" icejam-revert-buffer-no-confirm)
|
("r" "Reload" icejam-revert-buffer-no-confirm)
|
||||||
|
|
@ -79,16 +79,16 @@
|
||||||
("q" "Quit" keyboard-quit)])
|
("q" "Quit" keyboard-quit)])
|
||||||
|
|
||||||
|
|
||||||
(defun icejam-lang-ocaml/activate-reason-mode ()
|
(defun icejam-lang/activate-reason-mode ()
|
||||||
"Generate reason config."
|
"Generate reason config."
|
||||||
(define-key
|
(define-key
|
||||||
reason-mode-map (kbd "C-c l") 'icejam-lang-ocaml/reasonml-context-menu))
|
reason-mode-map (kbd "C-c l") 'icejam-lang/reasonml-context-menu))
|
||||||
|
|
||||||
;; Reason setup
|
;; Reason setup
|
||||||
(add-hook 'reason-mode-hook
|
(add-hook 'reason-mode-hook
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(add-hook 'before-save-hook #'refmt-before-save)))
|
(add-hook 'before-save-hook #'refmt-before-save)))
|
||||||
(add-hook 'reason-mode-hook 'icejam-lang-ocaml/activate-reason-mode)
|
(add-hook 'reason-mode-hook 'icejam-lang/activate-reason-mode)
|
||||||
(add-hook 'reason-mode-hook 'merlin-mode)
|
(add-hook 'reason-mode-hook 'merlin-mode)
|
||||||
|
|
||||||
(provide 'icejam-lang-ocaml)
|
(provide 'icejam-lang-ocaml)
|
||||||
|
|
|
||||||
|
|
@ -24,11 +24,11 @@
|
||||||
;; Yaml
|
;; Yaml
|
||||||
(use-package yaml-mode :straight t :defer t :requires (lsp))
|
(use-package yaml-mode :straight t :defer t :requires (lsp))
|
||||||
|
|
||||||
(defun icejam-lang-yaml/activate-yaml-mode ()
|
(defun icejam-lang/activate-yaml-mode ()
|
||||||
"Activate yaml-mode."
|
"Activate yaml-mode."
|
||||||
(lsp))
|
(lsp))
|
||||||
|
|
||||||
(add-hook 'yaml-mode-hook 'icejam-lang-yaml/activate-yaml-mode)
|
(add-hook 'yaml-mode-hook 'icejam-lang/activate-yaml-mode)
|
||||||
|
|
||||||
;; Other text files
|
;; Other text files
|
||||||
(use-package json-mode :straight t :defer t)
|
(use-package json-mode :straight t :defer t)
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@
|
||||||
("q" "Quit" keyboard-quit)])
|
("q" "Quit" keyboard-quit)])
|
||||||
|
|
||||||
|
|
||||||
(defun icejam-lang-php/activate-php-mode ()
|
(defun icejam-lang/activate-php-mode ()
|
||||||
"All things php."
|
"All things php."
|
||||||
(icejam/set-indent 4)
|
(icejam/set-indent 4)
|
||||||
(column-enforce-n 80)
|
(column-enforce-n 80)
|
||||||
|
|
@ -43,7 +43,7 @@
|
||||||
(add-to-list (make-local-variable 'company-backends)
|
(add-to-list (make-local-variable 'company-backends)
|
||||||
'(company-capf company-yasnippet)))
|
'(company-capf company-yasnippet)))
|
||||||
|
|
||||||
(add-hook 'php-mode-hook 'icejam-lang-php/activate-php-mode)
|
(add-hook 'php-mode-hook 'icejam-lang/activate-php-mode)
|
||||||
|
|
||||||
(provide 'icejam-lang-php)
|
(provide 'icejam-lang-php)
|
||||||
;;; icejam-lang-php.el ends here
|
;;; icejam-lang-php.el ends here
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
("q" "Quit" keyboard-quit)])
|
("q" "Quit" keyboard-quit)])
|
||||||
|
|
||||||
|
|
||||||
(defun icejam-lang-python/activate-python-mode ()
|
(defun icejam-lang/activate-python-mode ()
|
||||||
(lsp)
|
(lsp)
|
||||||
|
|
||||||
(column-enforce-n 99)
|
(column-enforce-n 99)
|
||||||
|
|
@ -30,7 +30,7 @@
|
||||||
(add-to-list (make-local-variable 'company-backends)
|
(add-to-list (make-local-variable 'company-backends)
|
||||||
'(company-capf company-yasnippet)))
|
'(company-capf company-yasnippet)))
|
||||||
|
|
||||||
(add-hook 'python-mode-hook 'icejam-lang-python/activate-python-mode)
|
(add-hook 'python-mode-hook 'icejam-lang/activate-python-mode)
|
||||||
|
|
||||||
(provide 'icejam-lang-python)
|
(provide 'icejam-lang-python)
|
||||||
;;; icejam-lang-python.el ends here
|
;;; icejam-lang-python.el ends here
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
(use-package rbs-mode :straight t :defer t)
|
(use-package rbs-mode :straight t :defer t)
|
||||||
|
|
||||||
(use-package enh-ruby-mode
|
(use-package enh-ruby-mode
|
||||||
:requires (rspec-mode ruby-end)
|
:requires (rspec-mode ruby-end lsp)
|
||||||
:straight t
|
:straight t
|
||||||
:defer t)
|
:defer t)
|
||||||
|
|
||||||
|
|
@ -24,6 +24,9 @@
|
||||||
;; Do not insert magic encoding comment at the begining of each file
|
;; Do not insert magic encoding comment at the begining of each file
|
||||||
(setq ruby-insert-encoding-magic-comment nil)
|
(setq ruby-insert-encoding-magic-comment nil)
|
||||||
|
|
||||||
|
;; Start LSP
|
||||||
|
(lsp)
|
||||||
|
|
||||||
;; Company list override
|
;; Company list override
|
||||||
(add-to-list (make-local-variable 'company-backends)
|
(add-to-list (make-local-variable 'company-backends)
|
||||||
'(company-capf company-yasnippet)))
|
'(company-capf company-yasnippet)))
|
||||||
|
|
@ -33,7 +36,7 @@
|
||||||
(add-hook 'enh-ruby-mode-hook 'ruby-end-mode)
|
(add-hook 'enh-ruby-mode-hook 'ruby-end-mode)
|
||||||
(eval-after-load 'rspec-mode
|
(eval-after-load 'rspec-mode
|
||||||
'(rspec-install-snippets))
|
'(rspec-install-snippets))
|
||||||
(add-hook 'enh-ruby-mode-hook 'icejam/activate-ruby-mod)
|
(add-hook 'enh-ruby-mode-hook 'icejam/activate-ruby-mode)
|
||||||
;; (add-hook 'enh-ruby-mode-hook 'lsp-deferred)
|
;; (add-hook 'enh-ruby-mode-hook 'lsp-deferred)
|
||||||
|
|
||||||
(provide 'icejam-lang-ruby)
|
(provide 'icejam-lang-ruby)
|
||||||
|
|
|
||||||
|
|
@ -328,7 +328,7 @@ More information on Tron: https://en.wikipedia.org/wiki/Tron")
|
||||||
:box `(:line-width 2 :color ,orange :style nil))
|
:box `(:line-width 2 :color ,orange :style nil))
|
||||||
)
|
)
|
||||||
|
|
||||||
(defun tronesque-mode-line ()
|
(defun icejam/tronesque-mode-line ()
|
||||||
"Change default mode-line."
|
"Change default mode-line."
|
||||||
(interactive)
|
(interactive)
|
||||||
(setq-default
|
(setq-default
|
||||||
|
|
@ -364,7 +364,7 @@ More information on Tron: https://en.wikipedia.org/wiki/Tron")
|
||||||
mode-line-end-spaces)))
|
mode-line-end-spaces)))
|
||||||
|
|
||||||
;; Helper function
|
;; Helper function
|
||||||
(defun shorten-directory (dir max-length)
|
(defun icejam/shorten-directory (dir max-length)
|
||||||
"Show up a directory named `DIR' with `MAX-LENGTH' characters."
|
"Show up a directory named `DIR' with `MAX-LENGTH' characters."
|
||||||
(let ((path (reverse (split-string (abbreviate-file-name dir) "/")))
|
(let ((path (reverse (split-string (abbreviate-file-name dir) "/")))
|
||||||
(output ""))
|
(output ""))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue