diff --git a/config.el b/config.el index e3edbdb..6a186bf 100644 --- a/config.el +++ b/config.el @@ -30,9 +30,8 @@ ;; There are two ways to load a theme. Both assume the theme is installed and ;; available. You can either set `doom-theme' or manually load a theme with the ;; `load-theme' function. This is the default: -;; (setq doom-theme 'doom-one) (setq doom-theme 'doom-one) -;; (delq! t custom-theme-load-path) +(setq doom-modeline-height 45) ;; If you use `org' and don't want your org files in the default location below, ;; change `org-directory'. It must be set before org loads! @@ -44,6 +43,8 @@ (setq projectile-project-search-path "~/Projects") +(require 's) + (when (eq system-type 'gnu/linux) (when (s-contains? "microsoft" operating-system-release t) (progn @@ -84,6 +85,7 @@ (use-package! setup-elfeed) (use-package! darkroom + :commands darkroom-mode :custom (darkroom-margins (cons 40 0)) (darkroom-text-scale-increase 0) @@ -107,6 +109,8 @@ (defvar org-html-text-markup-alist) (defvar org-capture-templates) :init + (setq org-ellipsis " ▾" + org-hide-emphasis-markers t) (setq org-agenda-files (list (concat org-directory "/todo.org") (concat org-directory "/projects.org") (concat org-directory "/Recipies.org") @@ -114,12 +118,38 @@ (concat org-directory "/personal.org") (concat org-directory "/archive.org") )) + (set-face-attribute 'org-document-title nil :height 1.5) + (set-face-attribute 'org-level-1 nil :height 1.2) + (set-face-attribute 'org-level-2 nil :height 1.1) + (set-face-attribute 'org-level-3 nil :height 1.0) + (set-face-attribute 'org-level-4 nil :height 1.0) + (set-face-attribute 'org-level-5 nil :height 1.0) + (set-face-attribute 'org-scheduled-today nil :height 2.0) + (set-face-attribute 'org-agenda-date-today nil :height 2.0) (setq org-agenda-include-diary t) (add-to-list 'safe-local-variable-values '(eval leo/deft-insert-boilerplate)) (setq org-refile-targets '((nil :maxlevel . 3) (org-agenda-files :maxlevel . 3)) org-default-notes-file (concat org-directory "/todo.org")) + (setq org-todo-keyword-faces + '(("TODO" . org-roam-link-shielded) + ("WAIT" . org-roam-link-shielded) + ("HOLD" . org-roam-link-shielded) + ("NEXT" . org-roam-link-current) + ("PLAN" . org-target) + ("SPIKE" . org-target) + ("ACTIVE" . org-todo))) + (setq org-todo-keywords '( + (sequence "TODO(t)" "NEXT(n)" "|" "DONE(d!)") + (sequence "PLAN(p)" "SPIKE(s)" "ACTIVE(a)" "WAIT(w@/!)" "HOLD(h)" "|" "DONE(d!)" "CANCELLED(c@)") + )) :config + (org-babel-do-load-languages 'org-babel-load-languages '((js . t) + (shell . t) + (apex . t) + (soql . t) + (emacs-lisp . t))) + (setq org-capture-templates '(("t" "new task" entry (file+headline (concat org-directory "/todo.org") "Tasks") "* TODO [#A] %?\nSCHEDULED: %(org-insert-time-stamp (org-read-date nil t \"+0d\"))\n%a\n") @@ -155,13 +185,21 @@ ("\\(\\[-\\]\\)" #XF147);29C7;F458 ("\\(\\[X\\]\\)" #XF046);2BBD ))) - + ;; Replace list hyphen with dot + ;; (font-lock-add-keywords 'org-mode + ;; '(("^ *\\([-]\\) " + ;; (0 (prog1 () (compose-region (match-beginning 1) (match-end 1) "•")))))) (defun add-checkbox-symbol-keywords () "Add checkbox font to font-lock." (font-lock-add-keywords nil checkbox-fontlock-keywords-alist)) (add-hook 'org-mode-hook 'add-checkbox-symbol-keywords) - (add-hook 'org-mode-hook '(lambda () (visual-line-mode 0))) + (add-hook 'org-mode-hook '(lambda () + (visual-line-mode 0) + (variable-pitch-mode 1) + (org-indent-mode) + (auto-fill-mode 0) + )) ) (use-package! org-roam @@ -201,23 +239,23 @@ ) (use-package! lsp-java + :hook ( + (java-mode . lsp-deferred) + (java-mode . lsp-lens-mode) + (java-mode . lsp-ui-mode) + (css-mode . lsp-deferred) + (js-mode . lsp-deferred) + ) :config (setq lsp-ui-doc-include-signature t lsp-ui-doc-enable t - lsp-ui-sideline-enable t) - (add-hook 'java-mode-hook #'lsp-deferred) - (add-hook 'java-mode-hook #'lsp-lens-mode) - ;; (add-hook 'java-mode-hook #'lsp-java-boot-lens-mode) - (add-hook 'java-mode-hook #'lsp-ui-mode)) + lsp-ui-sideline-enable t)) (use-package! apex-mode :mode "\\.cls\\'" :bind ("M-q" . #'leo/kill-this-buffer-unless-scratch) ) -(add-hook 'css-mode-hook #'lsp-deferred) -(add-hook 'js-mode-hook #'lsp-deferred) - (use-package! web-mode :mode "\\.\\(app\\|page\\)\\'") @@ -225,6 +263,11 @@ :config (setq so-long-action 'so-long-minor-mode)) +(use-package! ob-apex + :after org + :load-path "/home/leothelocust/Projects/emacs/apex-babel" + :commands org-babel-execute:apex) + (use-package! emacs-sfdx :load-path "/home/leothelocust/Projects/emacs/emacs-sfdx" ;; use this load-path when testing locally :commands (sfdx/transient-action sfdx/next-component-file) @@ -253,7 +296,6 @@ "s" #'sfdx/transient-action "v" #'vlo/transient-action )) - (map! :map comint-mode-map "q" '(lambda() (interactive) @@ -262,7 +304,6 @@ (leo/kill-this-buffer-unless-scratch) (+workspace/close-window-or-workspace) )))) - (map! :map global-map "M-t" #'treemacs-select-window "M-q" #'leo/kill-this-buffer-unless-scratch diff --git a/custom.el b/custom.el index 38aafe4..5641aba 100644 --- a/custom.el +++ b/custom.el @@ -14,3 +14,4 @@ ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. ) +(put 'upcase-region 'disabled nil)