diff --git a/README.org b/README.org index 6f9e51df..bf1bc0a2 100644 --- a/README.org +++ b/README.org @@ -498,6 +498,8 @@ vertically." (window-resize-pixelwise t)) (window-resize window (- dheight wheight) nil nil 'pixelwise))) + + :general ('selectrum-minibuffer-map "C-j" 'selectrum-next-candidate @@ -595,11 +597,6 @@ Consult has a lot of nice functions like Ivy's Counsel functions (enhanced searc "so" 'consult-org-heading)) #+end_src -#+begin_src emacs-lisp :tangle no -(map! :leader "s s" 'consult-line - :leader "f r" 'consult-recent-file) -#+end_src - *** MARGINALIA Marginalia makes for some great decoration to our minibuffer completion items. Works great with Selectrum which does not have this out of the box. @@ -633,7 +630,14 @@ Marginalia makes for some great decoration to our minibuffer completion items. W :defer 1 :config (global-company-mode +1) - (setq company-dabbrev-other-buffers t)) + (setq company-dabbrev-other-buffers t + company-minimum-prefix-length 1) + :general + (general-define-key + :states 'normal + :keymaps '(override company-search-map) + "TAB" 'company-complete-selection) + ) #+end_src #+begin_src emacs-lisp @@ -646,7 +650,7 @@ YASnippet is a templating system. It's powerful. #+begin_src emacs-lisp (use-package yasnippet :config - (setq yas-snippet-dirs '("~/.dotemacs/yasnippets")) + (setq yas-snippet-dirs (list (expand-file-name "yasnippets/" user-emacs-directory))) (yas-global-mode 1)) #+end_src @@ -686,8 +690,8 @@ Ace link provides an avy like search for links. Upon using the keybindings prese (setq display-buffer-alist '(("\\*e?shell\\*" (display-buffer-in-side-window) - (side . right) - (window-width . 0.4)) + (side . bottom) + (window-height . 0.25)) ("*helpful*" (display-buffer-in-side-window) (side . right) @@ -755,6 +759,17 @@ Since I use the Awesome WM I thought it'd be good to have lua around. It's also :mode ("\\.lua\\'" . lua-mode)) #+end_src +*** LSP +LSP is useful... +#+begin_src emacs-lisp +(use-package lsp-mode + :config + (setq lsp-lens-enable t + lsp-signature-auto-activate nil)) + +(use-package lsp-ui) +#+end_src + *** Fennel I use fennel to build my awesomewm config. So, we'll need that downloaded. #+begin_src emacs-lisp @@ -854,6 +869,21 @@ Let's also add org-babel support for this to create documentation easier. :after org) #+end_src +*** Dart/Flutter +I may get into flutter development over using felgo..... but i'm not happy about it.... +#+begin_src emacs-lisp +(use-package dart-mode + :mode ("\\.dart\\'" . dart-mode) + :config (add-hook 'dart-mode 'lsp)) + +(use-package lsp-dart) +#+end_src + +Let's also add the android-sdk tools to emacs' path. +#+begin_src emacs-lisp +(add-to-list 'exec-path "/opt/android-sdk/cmdline-tools/latest/bin") +#+end_src + ** File Management *** Dired I'm making a small function in here to open files in the appropriate program using XDG defaults. This is like opening odt files in Libreoffice or mp4 files in MPV. @@ -1720,6 +1750,14 @@ Let's add our own eshell prompt. and set the password cache to a significantly h (setq eshell-banner-message "") + (setq eshell-path-env "/usr/local/bin:/usr/bin:/opt/android-sdk/cmdline-tools/latest/bin") + + ;; this makes it so flutter works properly + (setenv "ANDROID_SDK_ROOT" "/opt/android-sdk") + (setenv "CHROME_EXECUTABLE" "/usr/bin/qutebrowser") + (setenv "JAVA_HOME" "/usr/lib/jvm/default") + (setenv "PATH" "/usr/local/bin:/usr/bin:/opt/android-sdk/cmdline-tools/latest/bin") + (add-hook 'eshell-mode-hook '(hscroll-margin 0)) (add-hook 'eshell-mode-hook '(display-line-numbers-mode -1)) @@ -1736,8 +1774,8 @@ Let's add our own eshell prompt. and set the password cache to a significantly h ("gg" "magit-status") ("clear" "clear-scrollback") ("!c" "eshell-previous-input 2") - ("yay" "paru") - ("yeet" "paru -Rns"))) + ("yay" "paru $1") + ("yeet" "paru -Rns $1"))) :general (chris/leader-keys diff --git a/init.el b/init.el index 3881a98f..5d4dafca 100644 --- a/init.el +++ b/init.el @@ -306,6 +306,8 @@ vertically." (window-resize-pixelwise t)) (window-resize window (- dheight wheight) nil nil 'pixelwise))) + + :general ('selectrum-minibuffer-map "C-j" 'selectrum-next-candidate @@ -362,14 +364,21 @@ vertically." :defer 1 :config (global-company-mode +1) - (setq company-dabbrev-other-buffers t)) + (setq company-dabbrev-other-buffers t + company-minimum-prefix-length 1) + :general + (general-define-key + :states 'normal + :keymaps '(override company-search-map) + "TAB" 'company-complete-selection) + ) (use-package company-dict :after company) (use-package yasnippet :config - (setq yas-snippet-dirs '("~/.dotemacs/yasnippets")) + (setq yas-snippet-dirs (list (expand-file-name "yasnippets/" user-emacs-directory))) (yas-global-mode 1)) (use-package avy @@ -394,8 +403,8 @@ vertically." (setq display-buffer-alist '(("\\*e?shell\\*" (display-buffer-in-side-window) - (side . right) - (window-width . 0.4)) + (side . bottom) + (window-height . 0.25)) ("*helpful*" (display-buffer-in-side-window) (side . right) @@ -444,6 +453,13 @@ vertically." (use-package lua-mode :mode ("\\.lua\\'" . lua-mode)) +(use-package lsp-mode + :config + (setq lsp-lens-enable t + lsp-signature-auto-activate nil)) + +(use-package lsp-ui) + (use-package fennel-mode :mode ("\\.fnl\\'" . fennel-mode)) @@ -498,6 +514,14 @@ vertically." (use-package ob-restclient :after org) +(use-package dart-mode + :mode ("\\.dart\\'" . dart-mode) + :config (add-hook 'dart-mode 'lsp)) + +(use-package lsp-dart) + +(add-to-list 'exec-path "/opt/android-sdk/cmdline-tools/latest/bin") + (use-package dired :ensure nil :straight nil @@ -1272,6 +1296,14 @@ If on a: (setq eshell-banner-message "") + (setq eshell-path-env "/usr/local/bin:/usr/bin:/opt/android-sdk/cmdline-tools/latest/bin") + + ;; this makes it so flutter works properly + (setenv "ANDROID_SDK_ROOT" "/opt/android-sdk") + (setenv "CHROME_EXECUTABLE" "/usr/bin/qutebrowser") + (setenv "JAVA_HOME" "/usr/lib/jvm/default") + (setenv "PATH" "/usr/local/bin:/usr/bin:/opt/android-sdk/cmdline-tools/latest/bin") + (add-hook 'eshell-mode-hook '(hscroll-margin 0)) (add-hook 'eshell-mode-hook '(display-line-numbers-mode -1)) @@ -1288,8 +1320,8 @@ If on a: ("gg" "magit-status") ("clear" "clear-scrollback") ("!c" "eshell-previous-input 2") - ("yay" "paru") - ("yeet" "paru -Rns"))) + ("yay" "paru $1") + ("yeet" "paru -Rns $1"))) :general (chris/leader-keys