Launch KeyCastr.
(set-face-font 'default "Input-24")
(require 'js2-mode)
(require 'tk-support)
;; remove my advice from .emacs.d
(advice-member-p #'tk-support/mute-fun #'js--multi-line-declaration-indentation)
(advice-remove #'js--multi-line-declaration-indentation #'tk-support/mute-fun)HRM project:
- HEAD rev is 3298a3f
- Delete gtags files
Open terminal in ~/Projects/dotfiles/test.
Open demo/fibonacci.js
Open demo/assign.js
(defun mute-fun (&rest args)
(message "muted")
nil)
;; Don't double-indent multiline statement
(advice-add #'js--multi-line-declaration-indentation
:around
#'mute-fun)
(advice-member-p #'mute-fun #'js--multi-line-declaration-indentation)
;; (advice-remove #'js--multi-line-declaration-indentation #'mute-fun)Open demo/SingleSelect.jsx
Open demo/hrm/backend/src/site-states.js:148
Toggle highlight-symbol-next (F5) for:
- ealaStatsByEala
- ealaStats
Open demo/hrm/backend/src/site-states.js:100
- Change
let sumTotaltoconst sumTotal - Save
- Run
flycheck-list-errors(C-c ! l) - See error highlight (underline) in line 107
Open demo/hrm/frontend/src/staff-app/
- Select project,
counsel-projectile-switch-project(C-c p p) - Enter
h r m - Enter
est jsx - Select
EstimatedWaitingStatsView.jsx
- Go to path at,
demo/hrm/frontend/src/staff-app/EstimatedWaitingStatsView.jsx:13 - Run
projectile-find-file-dwim(C-c F)
- Go to some empty line in
demo/hrm/frontend/src/staff-app/EstimatedWaitingStatsView.jsx - Run
projectile-find-other-file(C-c o) - Run it again to go back
- Select hrm project, find file
demo/hrm/backend/src/site-states.js - Open
*Messages*buffer in other window (C-x 4 b) - Run
tk-dev/make-gtags(C-c T) - Run
projectile-dired(C-c D) - See gtags files
- Open
demo/hrm/backend/src/config.js:13 - See underline when point is at
parseBooleanOrDefault - Run
ggtags-find-tag-dwim(M-.) - See symbol definition
- Go back,
xref-pop-marker-stack(M-,)
- Open
demo/hrm/backend/src/config.js:14 - Go to line 14, see underline when point at
parseIntegerPosOrDefault - Run
ggtags-find-tag-dwim(M-.) - See two symbol definitions, use
next-error(M-n) andprevious-error(M-p) to navigate hits, select second hit - Use
ggtags-navigation-mode-done(RETURN) to close navigation - At definition (name) of
parseIntegerPosOrDefaultindemo/hrm/shared/src/parsing.js:14, runggtags-find-reference(M-?) - Use
ggtags-navigation-mode-done(RETURN) to close navigation
- Open
~/Projects/dotfiles/.ctags - Show JS regexes
- Open
~/Projects/dotfiles/test/gtags_test.sh - Show
SYMBOLS_GLOBAL_SHOULD_FIND_ONE, the symbols for which 1 (and only 1) match should be found - Show definitions in
~/Projects/dotfiles/test/fixture/gtags.jsx - Open terminal, run
~/Projects/dotfiles/test/gtags_test.sh
- Open
demo/hrm/backend/src/config.js:24 - Write
const enableFoo = parseS, wait for companycompany-completeto trigger - Complete with
parseStringLC - Observe that import is missing
- Go to
demo/hrm/backend/src/site-states.js:40 - Move point to
actualWaitMaxInMin - Observe ggtags finds many definitions, but no references
- Run
ag-project-regexp(C-c a) - See usages in string literals
- Change string literal value to something else
- Go back to ag result buffer
- Rerun the search with
recompile(g)
- (Continuing above…)
- Go back to
demo/hrm/backend/src/site-states.js:40 - Move point back to
actualWaitMaxInMin - Run
counsel-projectile-ag(C-c s) - Select first hit