I broke some stuff, this fixes it
All checks were successful
/ Test config on 20 (push) Successful in 25s
All checks were successful
/ Test config on 20 (push) Successful in 25s
This commit is contained in:
parent
f0340183f6
commit
ff2dbc1796
9 changed files with 142 additions and 84 deletions
|
|
@ -114,6 +114,7 @@
|
|||
|
||||
;;;;;;;;;;;;;;;;; Treemacs
|
||||
(use-package treemacs :straight t :defer t
|
||||
:config (treemacs-follow-mode 1) ;; Follow the current project.
|
||||
:bind (:map icejam-keys-mode-map
|
||||
([(hyper b)] . treemacs))) ;; Show the folder tree
|
||||
|
||||
|
|
|
|||
|
|
@ -10,8 +10,42 @@
|
|||
|
||||
;;; Code:
|
||||
|
||||
;; Set font face
|
||||
;; (defvar icejam-font "Monoid")
|
||||
;; (defvar icejam-font "Fira Mono")
|
||||
;; (defvar icejam-font "Fira Code")
|
||||
;; (defvar icejam-font "Red Hat Mono")
|
||||
;; (defvar icejam-font "Agave Nerd Font Mono")
|
||||
;; (defvar icejam-font "Input Mono Condensed")
|
||||
;; (defvar icejam-font "SF Mono")
|
||||
;; (defvar icejam-font "Monaco")
|
||||
;; (defvar icejam-font "JetBrains Mono")
|
||||
;; (defvar icejam-font "JuliaMono")
|
||||
;; (defvar icejam-font "Rec Mono Semicasual")
|
||||
;; (defvar icejam-font "Victor Mono")
|
||||
;; (defvar icejam-font "IBM Plex Mono")
|
||||
|
||||
(defconst icejam-font "Iosevka Term"
|
||||
"Default font.")
|
||||
(defconst icejam-font-size 14
|
||||
"Default size of then font.
|
||||
It is used to calculated the size in relation to the screen
|
||||
in icejam/set-font-to-screen.")
|
||||
|
||||
(defcustom icejam-mut-font
|
||||
icejam-font
|
||||
"Current font, defaults to the one loaded in the beginning."
|
||||
:type 'string
|
||||
:group 'icejam)
|
||||
(defcustom icejam-mut-font-size
|
||||
icejam-font-size
|
||||
"Current font size."
|
||||
:type 'integer
|
||||
:group 'icejam)
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;; Font configuration ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; First, let's silence a warning about free variables
|
||||
(defvar lsp-ui-doc-frame-hook)
|
||||
|
||||
(defun icejam/set-lsp-ui-font-hook ()
|
||||
"Reset LSP IO font to specified icejam-font and icejam-font-size."
|
||||
(setq lsp-ui-doc-frame-hook nil)
|
||||
|
|
@ -19,13 +53,13 @@
|
|||
(lambda (frame _w)
|
||||
(set-face-attribute
|
||||
'default frame :font
|
||||
(format "%s %d" icejam-font (- icejam-font-size 2))))))
|
||||
(format "%s %d" icejam-mut-font (- icejam-mut-font-size 2))))))
|
||||
|
||||
(defun icejam/set-font (name size)
|
||||
"Set font to NAME and its SIZE to X pixels."
|
||||
(interactive "sNew font: \nnEnter size for %s: ")
|
||||
(setq icejam-font name)
|
||||
(setq icejam-font-size size)
|
||||
(setq icejam-mut-font name)
|
||||
(setq icejam-mut-font-size size)
|
||||
|
||||
(set-face-attribute 'default nil :font (format "%s %d" name size))
|
||||
|
||||
|
|
@ -49,22 +83,6 @@
|
|||
;; Call LSP-UI hook
|
||||
(icejam/set-lsp-ui-font-hook))
|
||||
|
||||
(defvar icejam-font "Iosevka Term")
|
||||
;; (defvar icejam-font "Monoid")
|
||||
;; (defvar icejam-font "Fira Mono")
|
||||
;; (defvar icejam-font "Fira Code")
|
||||
;; (defvar icejam-font "Red Hat Mono")
|
||||
;; (defvar icejam-font "Agave Nerd Font Mono")
|
||||
;; (defvar icejam-font "Input Mono Condensed")
|
||||
;; (defvar icejam-font "SF Mono")
|
||||
;; (defvar icejam-font "Monaco")
|
||||
;; (defvar icejam-font "JetBrains Mono")
|
||||
;; (defvar icejam-font "JuliaMono")
|
||||
;; (defvar icejam-font "Rec Mono Semicasual")
|
||||
;; (defvar icejam-font "Victor Mono")
|
||||
;; (defvar icejam-font "IBM Plex Mono")
|
||||
(defvar icejam-font-size 14)
|
||||
|
||||
(defun icejam/set-font-to-screen ()
|
||||
"Automatically set font size to suit the monitor."
|
||||
;; If display is set to emulate FullHD resultion or less, make the font
|
||||
|
|
@ -102,12 +120,12 @@
|
|||
(defun icejam/set-font-size (size)
|
||||
"Set font to a specified SIZE."
|
||||
(interactive "nEnter size for font: ")
|
||||
(icejam/set-font icejam-font size))
|
||||
(icejam/set-font icejam-mut-font size))
|
||||
|
||||
(defun icejam/set-font-size-for-this-frame (new-size)
|
||||
"Set font NEW-SIZE for this frame only."
|
||||
(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-mut-font new-size)))
|
||||
|
||||
;; Remove ugly black line
|
||||
(set-face-attribute 'vertical-border nil :foreground
|
||||
|
|
|
|||
|
|
@ -6,35 +6,45 @@
|
|||
(require 'icejam-keys-mode)
|
||||
|
||||
(use-package helpful :straight t :defer t)
|
||||
(use-package counsel :straight t :defer t :requires (helpful)
|
||||
:config
|
||||
;; Use helpful for showing Elisp documentation
|
||||
(setq counsel-describe-function-function #'helpful-callable)
|
||||
(setq counsel-describe-variable-function #'helpful-variable))
|
||||
|
||||
(use-package swiper :straight t :defer t)
|
||||
|
||||
(use-package ivy
|
||||
:requires (counsel swiper helpful)
|
||||
:straight t
|
||||
:defer t
|
||||
(use-package ivy :straight t :defer t
|
||||
:config (setq ivy-use-virtual-buffers t ;; Display recent files in ivy-switch-buffer
|
||||
ivy-count-format "(%d of %d) " ;; Current candidate count style
|
||||
ivy-wrap t ;; Wrap around completions
|
||||
ivy-display-style 'fancy ;; Formatting style
|
||||
))
|
||||
ivy-display-style 'fancy) ;; Formatting style
|
||||
(ivy-mode 1))
|
||||
|
||||
(use-package swiper :straight t)
|
||||
|
||||
|
||||
(use-package counsel :straight t :requires (helpful ivy swiper))
|
||||
|
||||
(with-eval-after-load 'counsel
|
||||
(define-key icejam-keys-mode-map (kbd "C-c a") 'counsel-rg)
|
||||
(define-key icejam-keys-mode-map (kbd "C-c t") 'counsel-find-file)
|
||||
(define-key icejam-keys-mode-map (kbd "C-c C-s") 'swiper) ;; Find things by regexp
|
||||
(define-key icejam-keys-mode-map (kbd "M-x") 'counsel-M-x) ;; M-x on steroids
|
||||
|
||||
;; Help bindings
|
||||
(define-key icejam-keys-mode-map (kbd "<f1> f") 'counsel-describe-function)
|
||||
(define-key icejam-keys-mode-map (kbd "<f1> v") 'counsel-describe-variable)
|
||||
(define-key icejam-keys-mode-map (kbd "<f1> b") 'counsel-descbinds)
|
||||
(define-key icejam-keys-mode-map (kbd "<f1> x") 'helpful-command)
|
||||
(define-key icejam-keys-mode-map (kbd "<f1> l") 'counsel-find-library)
|
||||
(define-key icejam-keys-mode-map (kbd "C-h f") 'counsel-describe-function)
|
||||
(define-key icejam-keys-mode-map (kbd "C-h v") 'counsel-describe-variable)
|
||||
(define-key icejam-keys-mode-map (kbd "C-h b") 'counsel-descbinds)
|
||||
(define-key icejam-keys-mode-map (kbd "C-h x") 'helpful-command)
|
||||
(define-key icejam-keys-mode-map (kbd "C-h l") 'counsel-find-library)
|
||||
|
||||
(setq counsel-describe-function-function 'helpful-callable)
|
||||
(setq counsel-describe-variable-function 'helpful-variable)
|
||||
|
||||
;; Other stuff
|
||||
(define-key icejam-keys-mode-map (kbd "<f2> i") 'counsel-info-lookup-symbol)
|
||||
(define-key icejam-keys-mode-map (kbd "<f2> u") 'counsel-unicode-char))
|
||||
|
||||
(define-key icejam-keys-mode-map (kbd "C-c a") 'counsel-rg)
|
||||
(define-key icejam-keys-mode-map (kbd "C-c t") 'counsel-find-file)
|
||||
(define-key icejam-keys-mode-map (kbd "C-c C-s") 'swiper) ;; Find things by regexp
|
||||
(define-key icejam-keys-mode-map (kbd "M-x") 'counsel-M-x) ;; M-x on steroids
|
||||
|
||||
;; List all key bindings there are.
|
||||
(define-key icejam-keys-mode-map (kbd "<f1> f") 'counsel-describe-function)
|
||||
(define-key icejam-keys-mode-map (kbd "<f1> v") 'counsel-describe-variable)
|
||||
(define-key icejam-keys-mode-map (kbd "<f1> l") 'counsel-find-library)
|
||||
(define-key icejam-keys-mode-map (kbd "<f2> i") 'counsel-info-lookup-symbol)
|
||||
(define-key icejam-keys-mode-map (kbd "<f2> u") 'counsel-unicode-char)
|
||||
|
||||
(provide 'icejam-ivy)
|
||||
;;; icejam-ivy.el ends here
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@
|
|||
""
|
||||
("k" "Kill Buffer" kill-buffer-and-window)]])
|
||||
|
||||
(transient-define-prefix icejam/language-context-menu ()
|
||||
(transient-define-prefix icejam/language-menu ()
|
||||
"Language (Buffer) Commands."
|
||||
[""
|
||||
["Buffer"
|
||||
|
|
@ -112,13 +112,32 @@
|
|||
("d" "Smaller" (lambda () (interactive) (text-scale-decrease 1)))
|
||||
("r" "Reset" (lambda () (interactive) (text-scale-adjust 0)))]])
|
||||
|
||||
(defcustom icejam-language-transient-alist
|
||||
'()
|
||||
"List of functions to call for language transient."
|
||||
:group 'icejam
|
||||
:type '(repeat (cons (symbol :tag "Major mode name")
|
||||
(symbol :tag "Function to call"))))
|
||||
|
||||
;; Use different thing for different language
|
||||
(defun icejam-language-transient-for-mode (&optional maybe-mode)
|
||||
"Get transient for major mode.
|
||||
You can pass MAYBE-MODE to find mode explicitly."
|
||||
(let* ((mode (if maybe-mode maybe-mode major-mode)))
|
||||
(alist-get mode icejam-language-transient-alist 'icejam/language-menu)))
|
||||
|
||||
(defun icejam-transient-for-lang ()
|
||||
"Call transient for current major mode."
|
||||
(interactive)
|
||||
(funcall (icejam-language-transient-for-mode)))
|
||||
|
||||
(define-key icejam-keys-mode-map (kbd "C-c p") 'icejam/project-menu)
|
||||
(define-key icejam-keys-mode-map (kbd "C-c c") 'icejam/code-menu)
|
||||
(define-key icejam-keys-mode-map (kbd "C-c w") 'icejam/window-menu)
|
||||
(define-key icejam-keys-mode-map (kbd "C-c s") 'icejam/history-menu)
|
||||
(define-key icejam-keys-mode-map (kbd "C-c f") 'icejam/font-menu)
|
||||
(define-key icejam-keys-mode-map (kbd "C-c m") 'icejam/move-menu)
|
||||
(define-key icejam-keys-mode-map (kbd "C-c l") 'icejam/language-context-menu)
|
||||
(define-key icejam-keys-mode-map (kbd "C-c l") 'icejam-transient-for-lang)
|
||||
|
||||
(provide 'icejam-transient)
|
||||
;;; icejam-transient.el ends here
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
;;; Code:
|
||||
|
||||
(require 'icejam-prog-mode)
|
||||
(require 'icejam-transient)
|
||||
|
||||
(declare-function column-enforce-n "column-enforce-mode" (number))
|
||||
|
||||
|
|
@ -12,18 +13,20 @@
|
|||
["Buffer"
|
||||
("r" "Reload" icejam-revert-buffer-no-confirm)
|
||||
("i" "Indent" icejam-mark-and-indent-whole-buffer)
|
||||
("d" "Explain" helpful-at-point)
|
||||
("e" "Show Errors" flycheck-list-errors)]]
|
||||
[""
|
||||
("q" "Quit" keyboard-quit)])
|
||||
|
||||
(add-to-list
|
||||
'icejam-language-transient-alist '(emacs-lisp-mode . icejam/elisp-lang-menu))
|
||||
|
||||
(defun icejam/activate-emacs-lisp-mode ()
|
||||
"Goodies for editing Emacs files."
|
||||
(icejam/set-indent 2) ;; Default indentation of 2 characters
|
||||
(column-enforce-n 80)
|
||||
(setq-default indent-tabs-mode nil)
|
||||
|
||||
(define-key emacs-lisp-mode-map (kbd "C-c l") 'icejam/elisp-lang-menu)
|
||||
|
||||
;; Company list override
|
||||
(add-to-list (make-local-variable 'company-backends)
|
||||
'(company-yasnippet company-capf)))
|
||||
|
|
|
|||
|
|
@ -31,6 +31,9 @@
|
|||
[""
|
||||
("q" "Quit" keyboard-quit)])
|
||||
|
||||
(add-to-list
|
||||
'icejam-language-transient-alist '(elixir-ts-mode . icejam/elixir-lang-menu))
|
||||
|
||||
(defun icejam/activate-elixir-ts-mode ()
|
||||
"All things Elixir."
|
||||
(icejam/set-indent 2)
|
||||
|
|
@ -43,9 +46,6 @@
|
|||
;; If needed, switch the one below to false to disable documentation pop-ups
|
||||
;; (setq-local lsp-ui-doc-enable t)
|
||||
|
||||
;; Enable mode map
|
||||
(define-key elixir-ts-mode-map (kbd "C-c l") 'icejam/elixir-lang-menu)
|
||||
|
||||
;; Company list override
|
||||
(add-to-list (make-local-variable 'company-backends)
|
||||
'(company-capf company-yasnippet)))
|
||||
|
|
|
|||
|
|
@ -35,6 +35,9 @@
|
|||
[""
|
||||
("q" "Quit" keyboard-quit)])
|
||||
|
||||
(add-to-list
|
||||
'icejam-language-transient-alist '(elixir-ts-mode . icejam/elixir-lang-menu))
|
||||
|
||||
(defun icejam/load-ocaml-site-packages ()
|
||||
"Generate ocaml config."
|
||||
(let ((opam-share (ignore-errors (car (process-lines "opam" "var" "share")))))
|
||||
|
|
@ -47,8 +50,7 @@
|
|||
(autoload 'dune "dune" nil t nil)
|
||||
|
||||
;; Use opam switch to lookup ocamlmerlin binary
|
||||
(setq merlin-command 'opam)))
|
||||
(define-key tuareg-mode-map (kbd "C-c l") 'icejam-lang-ocaml/context-menu))
|
||||
(setq merlin-command 'opam))))
|
||||
|
||||
;; OCaml setup
|
||||
(add-hook 'tuareg-mode-hook 'merlin-mode)
|
||||
|
|
|
|||
|
|
@ -5,7 +5,10 @@
|
|||
(require 'icejam-prog-mode)
|
||||
(require 'icejam-transient)
|
||||
|
||||
(transient-define-prefix icejam-lang-python/transient-context-menu ()
|
||||
(declare-function lsp nil)
|
||||
(declare-function column-enforce-n "column-enforce-mode" (number))
|
||||
|
||||
(transient-define-prefix icejam/python-lang-menu ()
|
||||
"Python Buffer Commands."
|
||||
[""
|
||||
["LSP"
|
||||
|
|
@ -18,14 +21,15 @@
|
|||
[""
|
||||
("q" "Quit" keyboard-quit)])
|
||||
|
||||
;; Add lookup for C-c l transient menu
|
||||
(add-to-list
|
||||
'icejam-language-transient-alist '(python-mode . icejam/python-lang-menu))
|
||||
|
||||
(defun icejam-lang/activate-python-mode ()
|
||||
"Activate python mode."
|
||||
(lsp)
|
||||
|
||||
(column-enforce-n 99)
|
||||
|
||||
(define-key python-mode-map (kbd "C-c l") 'icejam-lang-python/transient-context-menu)
|
||||
|
||||
;; Company list override
|
||||
(add-to-list (make-local-variable 'company-backends)
|
||||
'(company-capf company-yasnippet)))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue