diff --git a/.config/fish/config.fish b/.config/fish/config.fish index f7f0c10..0f6fb42 100644 --- a/.config/fish/config.fish +++ b/.config/fish/config.fish @@ -62,20 +62,20 @@ abbr -a -g gd "git diff" complete -f -c dotnet -a "(dotnet complete)" -# function vterm_printf; -# printf "\e]%s\e\\" "$argv" -# end +function vterm_printf; + printf "\e]%s\e\\" "$argv" +end -# function vterm_prompt_end; -# vterm_printf '51;A'(whoami)'@'(hostname)':'(pwd) -# end -# functions --copy fish_prompt vterm_old_fish_prompt -# function fish_prompt --description 'Write out the prompt; do not replace this. Instead, put this at end of your file.' -# # Remove the trailing newline from the original prompt. This is done -# # using the string builtin from fish, but to make sure any escape codes -# # are correctly interpreted, use %b for printf. -# printf "%b" (string join " \n" (vterm_old_fish_prompt)) -# vterm_prompt_end -# end +function vterm_prompt_end; + vterm_printf '51;A'(whoami)'@'(hostname)':'(pwd) +end +functions --copy fish_prompt vterm_old_fish_prompt +function fish_prompt --description 'Write out the prompt; do not replace this. Instead, put this at end of your file.' + # Remove the trailing newline from the original prompt. This is done + # using the string builtin from fish, but to make sure any escape codes + # are correctly interpreted, use %b for printf. + printf "%b" (string join " \n" (vterm_old_fish_prompt)) + vterm_prompt_end +end set -q GHCUP_INSTALL_BASE_PREFIX[1]; or set GHCUP_INSTALL_BASE_PREFIX $HOME ; set -gx PATH $HOME/.cabal/bin $PATH /home/joe/.ghcup/bin # ghcup-env \ No newline at end of file diff --git a/.doom.d/init.el b/.doom.d/init.el index c653b3b..92b116f 100644 --- a/.doom.d/init.el +++ b/.doom.d/init.el @@ -86,7 +86,7 @@ :tools ;;ansible ;;biblio ; Writes a PhD for you (citation needed) - ;;debugger ; FIXME stepping through code, to help you add bugs + (debugger +lsp) ; FIXME stepping through code, to help you add bugs ;;direnv ;;docker ;;editorconfig ; let someone else argue about tabs vs spaces @@ -94,7 +94,7 @@ (eval +overlay) ; run code, run (also, repls) ;;gist ; interacting with github gists lookup ; navigate your code and its documentation - lsp ; M-x vscode + (lsp +peek) ; M-x vscode magit ; a git porcelain for Emacs ;;make ; run make tasks from Emacs ;;pass ; password manager for nerds @@ -161,7 +161,7 @@ ;;rest ; Emacs as a REST client ;;rst ; ReST in peace ;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"} - ;;rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap() + (rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap() ;;scala ; java, but good ;;(scheme +guile) ; a fully conniving family of lisps sh ; she sells {ba,z,fi}sh shells on the C xor diff --git a/.emacs.bankruptcy/init.org b/.emacs.bankruptcy/init.org index 4357fb1..020fb1a 100644 --- a/.emacs.bankruptcy/init.org +++ b/.emacs.bankruptcy/init.org @@ -221,9 +221,12 @@ Setup other stuff (setq-default display-line-numbers 'relative) (make-variable-buffer-local 'global-hl-line-mode) -(dolist (mode '( dashboard-mode-hook org-mode-hook term-mode-hook eww-mode-hook vterm-mode-hook +(dolist (mode '( dashboard-mode-hook org-mode-hook term-mode-hook eww-mode-hook vterm-mode-hook dirvish-directory-view-mode-hook eshell-mode-hook dired-mode-hook shell-mode-hook magit-mode-hook compilation-mode-hook)) (add-hook mode (lambda () (display-line-numbers-mode 0)))) +;; (dolist (mode '(dashboard-mode-hook org-mode-hook term-mode-hook eww-mode-hook vterm-mode-hook +;; eshell-mode-hook shell-mode-hook magit-mode-hook compilation-mode-hook)) +;; (add-hook mode (lambda () (display-line-numbers-mode 0)))) (set-window-margins nil 0) (setq-default right-fringe-width 10) @@ -252,21 +255,14 @@ Setup other stuff (straight-use-package 'highlight-quoted) (add-hook 'emacs-lisp-mode-hook 'highlight-quoted-mode) -;; (straight-use-package 'nano-modeline) -;; (nano-modeline-mode) -;; (setq nano-modeline-prefix 'icon) -;; (straight-use-package 'mini-modeline) (straight-use-package 'doom-modeline) (doom-modeline-mode) -;; (straight-use-package 'mood-line) -;; (mood-line-mode 1) -(straight-use-package 'centaur-tabs) -(setq centaur-tabs-set-bar 'under) -;; Note: If you're not using Spacmeacs, in order for the underline to display -;; correctly you must add the following line: -(setq x-underline-at-descent-line t) -(setq centaur-tabs-set-close-button t) -(setq centaur-tabs-show-navigation-buttons t) + +;; (straight-use-package 'centaur-tabs) +;; (setq centaur-tabs-set-bar 'under) +;; (setq x-underline-at-descent-line t) +;; (setq centaur-tabs-set-close-button t) +;; (setq centaur-tabs-show-navigation-buttons t) #+end_src ** Text @@ -291,6 +287,14 @@ Emacs is an great operating system, if only it had a good text editor... *** Text editing #+begin_src emacs-lisp + +;; TODO Find out what to do with this +(defun joe/bookmark-set-and-save () + "Save the current buffer as a bookmark" + (interactive) + (bookmark-set) + (bookmark-save)) + (global-set-key (kbd "M-z") #'zap-up-to-char) (global-set-key (kbd "M-Z") #'zap-to-char) @@ -342,6 +346,7 @@ Emacs is an great operating system, if only it had a good text editor... ;; TODO: We need 3 bindings; 1.) close buffer 2.) close window 3.) close buffer and window ;; To disable a keybinding just bind it to nil +(evil-set-leader nil (kbd "C-SPC")) (evil-set-leader 'normal (kbd "SPC")) (evil-define-key 'normal 'global @@ -379,17 +384,14 @@ Emacs is an great operating system, if only it had a good text editor... (kbd "cy") 'consult-yank-from-kill-ring (kbd "cg") 'consult-ripgrep (kbd "cF") 'consult-find - (kbd "co") 'consult-outline) - -(kbd "C-h") 'evil-window-left) -(kbd "C-j") 'evil-window-down) -(kbd "C-k") 'evil-window-up) -(kbd "C-l") 'evil-window-right) -(kbd "C-p") 'tab-previous) -(kbd "C-n") 'tab-next) -(kbd "tn") 'tab-new) -(kbd "tc") 'tab-close) -(kbd "tr") 'tab-rename) + (kbd "co") 'consult-outline + (kbd "C-h") 'evil-window-left + (kbd "C-j") 'evil-window-down + (kbd "C-k") 'evil-window-up + (kbd "C-l") 'evil-window-right + (kbd "tn") 'tab-new + (kbd "tc") 'tab-close + (kbd "tr") 'tab-rename) (evil-define-key 'normal 'global (kbd "q") 'avy-goto-word-0) @@ -407,6 +409,14 @@ Emacs is an great operating system, if only it had a good text editor... ;; (define-key evil-consult-map "c" 'evil-window-delete) ;; (define-key evil-normal-state-map "," 'evil-consult-map) +(defun joe/evil-select-line () + (interactive) + "Select line starting first character" + (evil-first-non-blank) + (evil-visual-char) + (evil-last-non-blank)) + +;; (evil-define-key 'normal 'global (kbd "vv") #'joe/evil-select-line) (defvar global-evil-leader-map (make-sparse-keymap)) (evil-define-key 'normal 'global-evil-leader-map (kbd "SPC") 'evil-send-leader) @@ -823,6 +833,8 @@ targets." (org-bullets-mode) (org-indent-mode)) (add-hook 'org-mode-hook 'joe/org-hook) + +(straight-use-package 'org-kanban) #+end_src ** Avy @@ -930,11 +942,12 @@ startup. Reason we have to call this is so the vterm fucntion can call `vterm--i ;; (straight-use-package 'yasnippet) (straight-use-package 'markdown-mode) ;; (straight-use-package 'lsp-mode) +;; (straight-use-package 'lsp-ui) ;; (setq lsp-keymap-prefix "C-c c") -;; (lsp-enable-which-key-integration t) ;; (require 'lsp) +;; (lsp-enable-which-key-integration t) ;; (straight-use-package 'eglot) @@ -973,7 +986,9 @@ startup. Reason we have to call this is so the vterm fucntion can call `vterm--i company-tooltip-idle-delay 20 company-require-match nil company-frontends '(company-preview-frontend company-echo-metadata-frontend) - ;; company-frontends '(company-text-icons-margin company-echo-metadata-frontend) + ;; company-frontends + ;; '(company-pseudo-tooltip-unless-just-one-frontend + ;; company-echo-metadata-frontend) company-backends '((company-capf company-files))) (setq company-transformers '(company-sort-by-occurrence))) (add-hook 'after-init-hook (lambda () (global-company-mode))) @@ -1058,12 +1073,17 @@ it doesn't close it. (straight-use-package 'go-mode) ;; (straight-use-package 'go-imports) #+end_src -*** FSharp +** FSharp #+begin_src emacs-lisp ;; (straight-use-package 'eglot) (straight-use-package 'fsharp-mode) ;; (straight-use-package 'eglot-fsharp) +#+end_src +*** Rust +#+begin_src emacs-lisp +(straight-use-package 'rust-mode) +;; (straight-use-package 'flycheck) #+end_src ** Magit diff --git a/.emacs.vanilla/init.el b/.emacs.vanilla/init.el index 9dfd265..27d2033 100644 --- a/.emacs.vanilla/init.el +++ b/.emacs.vanilla/init.el @@ -196,7 +196,7 @@ all of the evil keybindings in buffers like magit, without compromises." (call-process "xdg-open" nil 0 nil file))) (defun joe/bookmark-set-and-save () - "In dired, open the file named on this line." + "Save the current buffer as a bookmark" (interactive) (bookmark-set) (bookmark-save)) diff --git a/.ideavimrc b/.ideavimrc index 0f2b28c..8af8de0 100755 --- a/.ideavimrc +++ b/.ideavimrc @@ -10,6 +10,7 @@ set ideajoin set idearefactormode=visual set ignorecase set commentary +set NERDTree set highlightedyank " TODO Find bindings for these @@ -64,7 +65,6 @@ nnoremap 2 nnoremap 2 nnoremap gt :action GotoTypeDeclaration -nnoremap s :action KJumpAction.Word0 nnoremap h :action HideAllWindows nnoremap q :action CloseContent nnoremap d :action QuickImplementations @@ -74,9 +74,9 @@ nnoremap u :action FindUsages nnoremap rn :action RenameElement nnoremap c :action ChangeColorScheme nnoremap ; :actionlist -vnoremap a :action StringManipulation.AlignToColumns nnoremap bb :action BuildCurrentProject nnoremap br :action Run +nnoremap bc :action RunClass nnoremap bd :action Debug nnoremap bs :action BuildSolutionAction @@ -85,6 +85,7 @@ nnoremap w :action SaveDocument nnoremap or :action ManageRecentProjects noremap - :action LocateInSolutionView +noremap - :action SelectInProjectView noremap = :action ReformatCode vnoremap = :action ReformatCode nnoremap / :nohlsearch @@ -114,16 +115,16 @@ nnoremap :action MoveLineUp nnoremap h nnoremap l noremap :action SurroundWithLiveTemplate -nnoremap gT -nnoremap gt + nnoremap :action EditorCloneCaretBelow nnoremap :action EditorCloneCaretAbove nnoremap A; inoremap A; -nnoremap :action ToggleDistractionFreeMode -nnoremap :action ToggleFullScreen +" nnoremap :action ToggleDistractionFreeMode +" nnoremap :action ToggleFullScreen nnoremap :action GotoNextError nnoremap :action GotoPreviousError nnoremap moo'o nnoremap moO'o nnoremap :action ParameterNameHints +