 (add-to-list 'load-path (expand-file-name "~/dotfiles/emacs/vanilla/libs"))
 
 ;;; Functions
+
+;; lookup symbol under cursor
 (defun ab/help-symbol-lookup()
   "Lookup the symbol under cursor."
   (interactive)
-  (describe-symbol (symbol-at-point)))
+  (if (bound-and-true-p lsp-mode)
+      (lsp-describe-thing-at-point)
+    (describe-symbol (symbol-at-point))))
+
+;; split window right and move to it
 (defun ab/window-split-right ()
   "Split windows right and move to the new split"
   (interactive)
   (split-window-right)
   (windmove-right))
+
+;; split window down and move to it
 (defun ab/window-split-down ()
   "Split windows down and move to the new split"
   (interactive)
   (split-window-below)
   (windmove-down))
-;; tslint fix
-;; not used but leaving it for future references e.g. syntax for shell command
-(defun ab/tslint-fix-file ()
-  "Apply tslint --fix to the current file"
-  (interactive)
-  (message "tslint --fixing the file" (buffer-file-name))
-  (call-process-shell-command (concat "tslint --fix --config " (projectile-project-root) "tslint.json " (buffer-file-name) " &") nil 0))
-;; (revert-buffer t t))
+
 ;;; eshell helper functions
 (defun ab/eshell-insert-mode ()
   "jump to end of buffer i.e. the prompt before switching to insert mode"

(set-selection-coding-system 'utf-8)
(prefer-coding-system 'utf-8)

;; PATH
(use-package exec-path-from-shell
  :init

(define-key evil-visual-state-map (kbd "C-u") 'evil-scroll-up)
(define-key evil-normal-state-map (kbd "C-d") 'evil-scroll-down)
(define-key evil-visual-state-map (kbd "C-d") 'evil-scroll-down)
(define-key evil-normal-state-map (kbd "C-p") 'counsel-projectile-find-file)
(define-key evil-insert-state-map (kbd "C-p") 'counsel-projectile-find-file)
;; exit motion state with `q`. it's mainly for viewing contents
