Skip to content

Commit

Permalink
more ergo window op bindings
Browse files Browse the repository at this point in the history
  • Loading branch information
JJPandari committed Nov 4, 2020
1 parent 670dbf7 commit 2b839f0
Show file tree
Hide file tree
Showing 18 changed files with 91 additions and 54 deletions.
6 changes: 3 additions & 3 deletions modes/init-company.el
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
:after evil-multiedit
:init
(setq company-backends
'(company-lsp company-capf company-files
(company-dabbrev-code company-gtags company-etags company-keywords)
company-dabbrev))
'(company-files company-capf
(company-dabbrev-code company-gtags company-etags company-keywords)
company-dabbrev))
:config
(global-company-mode 1)
(setq
Expand Down
2 changes: 1 addition & 1 deletion modes/init-compile.el
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@
"h" 'evil-backward-char
"f" 'link-hint-open-link
"g g" 'evil-goto-first-line
"g r" 'recompile)
"r" 'recompile)


(provide 'init-compile)
21 changes: 21 additions & 0 deletions modes/init-editing-utils.el
Original file line number Diff line number Diff line change
Expand Up @@ -582,5 +582,26 @@ If use-indirect-buffer is not nil, use `indirect-buffer' to hold the widen conte
(point))))
(list head tail)))

;;----------------------------------------------------------------------------
;; "just do what I mean"
;;----------------------------------------------------------------------------
(defvar jester-flip-symbol-alist
'(("true" . "false")
("false" . "true"))
"symbols to be quick flipped when editing")

(defun jester/just-do-what-i-mean ()
"\"I don't want to type here, just do it for me.\" (check source for what this function does)"
(interactive)
(-let* (((beg . end) (bounds-of-thing-at-point 'symbol))
(sym (buffer-substring-no-properties beg end)))
(when (member sym (cl-loop for cell in jester-flip-symbol-alist
collect (car cell)))
(delete-region beg end)
(insert (alist-get sym jester-flip-symbol-alist "" nil 'equal)))))

(jester/with-leader
"SPC" 'jester/just-do-what-i-mean)


(provide 'init-editing-utils)
3 changes: 2 additions & 1 deletion modes/init-evil.el
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@
:custom
(evil-want-Y-yank-to-eol t "Y yanks to eol, not whole line")
(evil-want-visual-char-semi-exclusive t "don't include line feed in visual select")
(evil-move-beyond-eol nil "stay at eol but no further")
(evil-undo-system 'undo-tree "use undo-tree, evil")
:init
:config
(evil-mode 1)
Expand All @@ -67,7 +69,6 @@
(defalias #'forward-evil-word #'forward-evil-symbol)
(setq-default evil-shift-width 2)
(setq
evil-move-beyond-eol nil
evil-normal-state-tag (propertize "N" 'face '((:background "DarkGoldenrod2" :foreground "black")))
evil-motion-state-tag (propertize "M" 'face '((:background "plum3") :foreground "white"))
evil-visual-state-tag (propertize "V" 'face '((:background "gray" :foreground "black")))
Expand Down
6 changes: 5 additions & 1 deletion modes/init-git.el
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,11 @@
;;----------------------------------------------------------------------------
(use-package diff-hl
:hook (after-init . global-diff-hl-mode)
:hook (magit-post-refresh . diff-hl-magit-post-refresh))
:hook (magit-post-refresh . diff-hl-magit-post-refresh)
:config
(jester/with-leader
"d n" 'diff-hl-next-hunk
"d p" 'diff-hl-previous-hunk))

;;----------------------------------------------------------------------------
;; major modes for git files.
Expand Down
2 changes: 1 addition & 1 deletion modes/init-ivy.el
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
;; --no-sort is much faster
(setq counsel-fzf-cmd "fzf --no-sort -f \"%s\""
;; limit file size and line length to be faster. long lines doesn't matter when search but is laggy to display
counsel-rg-base-command "rg --no-heading --line-number --color never --max-filesize 1M --max-columns 233 --max-columns-preview %s")
counsel-rg-base-command "rg --with-filename --no-heading --line-number --color never --max-filesize 1M --max-columns 233 --max-columns-preview %s")

(jester/with-leader
"p f" 'jester/open-project-file
Expand Down
1 change: 1 addition & 0 deletions modes/init-java.el
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
(use-package groovy-mode
:custom (groovy-indent-offset 2)
:mode "\\.gradle\\'")

(provide 'init-java)
8 changes: 4 additions & 4 deletions modes/init-javascript.el
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
(use-package js2-mode
:mode "\\.js\\'"
:hook (js2-mode . js2-imenu-extras-mode)
:config
:init
(setq js2-include-node-externs t
js-indent-level 2
js2-global-externs '("$" "jQuery" "jquery" "_")
Expand All @@ -11,7 +11,7 @@
js-indent-align-list-continuation nil
js-chain-indent nil
js-switch-indent-offset 2)

:config
;; "_" as word so company completes kabeb-case
(modify-syntax-entry ?_ "w" js2-mode-syntax-table)

Expand Down Expand Up @@ -175,8 +175,8 @@
(defun jester/prettier-js-file-1 ()
"Call prettier on current file."
(interactive)
(call-process-shell-command (format "node %s/node_modules/.bin/prettier --write %s"
(projectile-project-root)
(call-process-shell-command (format "node %s --write %s"
(f-join (projectile-project-root) "node_modules/.bin/prettier")
(buffer-file-name))))

(defun jester/prettier-js-file-2 ()
Expand Down
13 changes: 4 additions & 9 deletions modes/init-jump.el
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,8 @@
:init
(setq dumb-jump-aggressive t
dumb-jump-selector 'ivy)
(general-define-key
:states '(normal motion)
"g d" 'dumb-jump-go
;; "g p" 'dumb-jump-back
"g p" 'xref-pop-marker-stack)
:commands (dumb-jump-go))
;; sets the global value, will be overwritten by major mode / lsp
(add-hook 'xref-backend-functions #'dumb-jump-xref-activate))

(use-package ivy-xref
:init
Expand All @@ -27,13 +23,12 @@

(general-define-key
:states '(normal motion)
:keymaps '(emacs-lisp-mode-map lisp-mode-map)
"g d" 'xref-find-definitions)
"g d" 'xref-find-definitions
"g p" 'xref-pop-marker-stack)
(general-define-key
:definer 'minor-mode
:states 'normal
:keymaps 'lsp-mode
"g d" 'xref-find-definitions
"g r" 'jester/xref-find-references-at-point)

(provide 'init-jump)
20 changes: 15 additions & 5 deletions modes/init-keyfreq.el
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,17 @@
:hook (after-init . keyfreq-mode)
:config
(keyfreq-autosave-mode 1)
(setq keyfreq-excluded-commands '(self-insert-command
(setq keyfreq-excluded-commands '(
;; self insert and alike
self-insert-command
newline
org-self-insert-command
awesome-pair-space
;; cursor moving commands
forward-char
backward-char
next-line
previous-line
newline
evil-a-WORD
evil-append
evil-backward-char
Expand Down Expand Up @@ -90,14 +95,19 @@
evil-scroll-up
evil-scroll-line-down
evil-scroll-line-up
ranger-prev-file
ranger-next-file
;; ivy
ivy-done
ivy-next-line
ivy-previous-line
ivy-backward-delete-char
ranger-prev-file
ranger-next-file
ivy-occur-next-line
ivy-occur-previous-line
;; other
magit-section-toggle
undo-tree-undo
undo-tree-redo
org-self-insert-command)))
company-ignore)))

(provide 'init-keyfreq)
13 changes: 2 additions & 11 deletions modes/init-lsp.el
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,9 @@
:init
:hook ((rust-mode . lsp) (typescript-mode . lsp))
:commands (lsp lsp-deferred))
;; TODO add a hook to 'lsp-completion-mode to fix company-backends (hook does sth when 'jester-tabnine-active-modes)

;; lsp-ui and company-lsp auto configured by lsp-mode
;; lsp-ui auto configured by lsp-mode
(use-package lsp-ui
:custom ((lsp-ui-sideline-enable nil)
(lsp-ui-flycheck-enable t)
Expand All @@ -22,7 +23,6 @@
;; (custom-set-faces `(lsp-ui-doc-background
;; ((t (:background ,(face-attribute 'hl-line :background))))))
(setq lsp-ui-doc-border (face-attribute 'default :foreground))
:commands lsp-ui-mode
:config
(setq lsp-ui-doc-alignment 'frame-left-or-right-other)
(defun lsp-ui-doc--move-frame (frame)
Expand Down Expand Up @@ -62,15 +62,6 @@
10)))))))))
)

(use-package company-lsp
:init
(general-define-key
:states '(insert emacs)
:keymaps 'prog-mode-map
"C-." 'company-lsp)
:after company
:commands company-lsp)

;; TODO
;; (set-lookup-handlers! 'lsp-ui-mode :async t
;; :definition 'lsp-ui-peek-find-definitions
Expand Down
1 change: 1 addition & 0 deletions modes/init-lua.el
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
(use-package lua-mode
:custom (lua-indent-level 2)
:mode "\\.lua\\'")

(provide 'init-lua)
21 changes: 13 additions & 8 deletions modes/init-projects.el
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,16 @@
"p K" 'projectile-kill-buffers
"p s" 'jester/select-project-and-search
"p g" 'jester/select-project-and-magit-status
"p F" 'jester/select-project-and-open-file)
(defvar jester-projectile-project-history nil "recent projects (used through projectile)")
(defun jester/select-project-and-do (action)
"p p" 'jester/select-project-and-open-file)
(defvar jester-projectile-project-history nil "projectile project history")
(defun jester/select-project-and-do (action &optional do-what)
"Select a project with projectile, then do `ACTION' in the project.
`ACTION' takes one arg, the selected project dir."
`ACTION' takes one arg, the selected project dir.
`do-what' is a string, which is action name displayed by completion interface."
(let ((projects (projectile-relevant-known-projects)))
(if projects
(ivy-read "in project: " projects
(ivy-read (concat (when do-what (format "%s " do-what)) "in project: ")
projects
:history 'jester-projectile-project-history
:action action)
(user-error "There are no known projects"))))
Expand All @@ -23,19 +25,22 @@
(interactive)
(jester/select-project-and-do
(lambda (project-dir) (let ((default-directory project-dir))
(counsel-rg)))))
(counsel-rg)))
"search"))
(defun jester/select-project-and-magit-status ()
"Select a project with projectile, and open magit status."
(interactive)
(jester/select-project-and-do
(lambda (project-dir) (let ((default-directory project-dir))
(magit-status)))))
(magit-status)))
"magit"))
(defun jester/select-project-and-open-file ()
"Select a project with projectile, and open a file."
(interactive)
(jester/select-project-and-do
(lambda (project-dir) (let ((default-directory project-dir))
(counsel-git))))))
(counsel-git)))
"open file")))


(provide 'init-projects)
3 changes: 2 additions & 1 deletion modes/init-rust.el
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
:init
(add-hook! 'rust-mode-hook
(setq compile-command "cargo build")
(setq jester-run-command "cargo run"))
(setq jester-run-command "cargo run")
(setq jester-test-command "cargo test"))
:mode "\\.rs\\'")

(use-package flycheck-rust
Expand Down
4 changes: 2 additions & 2 deletions modes/init-sessions.el
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
(setq desktop-dirname "~/.emacs.d")
(require 'desktop)
;; (desktop-save-mode 1)
(push '(company-posframe-mode . nil)
desktop-minor-mode-table)
(defvar jester-auto-save-desktop-timer nil)
(defun jester/toggle-auto-save-desktop ()
"Toggle auto save desktop."
Expand Down Expand Up @@ -44,6 +42,8 @@
(setq-default history-length 1000)
(add-hook 'after-init-hook 'savehist-mode)

(push '(company-posframe-mode . nil)
desktop-minor-mode-table)
;; save a bunch of variables to the desktop file
;; for lists specify the len of the maximal saved data also
(setq desktop-globals-to-save
Expand Down
3 changes: 3 additions & 0 deletions modes/init-utils.el
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
(use-package s
:demand t)

(use-package f
:demand t)

(use-package dash
:demand t)

Expand Down
13 changes: 11 additions & 2 deletions modes/init-windows.el
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
(setq golden-ratio-auto-scale t))

(jester/with-leader
"w s" 'split-window-below
"w v" 'split-window-right
"w h" 'split-window-below
"w l" 'split-window-right
"w k" 'delete-window
"w H" 'evil-window-move-far-left
"w L" 'evil-window-move-far-right
Expand Down Expand Up @@ -199,5 +199,14 @@ current frame."
(windmove-down)
(jester/maybe-golden-ratio-adjust))

(defun jester/copy-recent-window ()
"Use the same buffer as the recent window."
(interactive)
(switch-to-buffer (with-selected-window (get-mru-window nil t t)
(current-buffer))))

(jester/with-leader
"w c" 'jester/copy-recent-window)


(provide 'init-windows)
5 changes: 0 additions & 5 deletions snippets/typescript-mode/dispatch

This file was deleted.

0 comments on commit 2b839f0

Please sign in to comment.