  "C-S-e" #'evil-window-down
  "C-S-o" #'evil-window-up
  "C-S-i" #'evil-window-right
+
+ "C-l C-e" #'csm-send-defun-to-shell
+ "C-l C-r" #'csm-send-region-to-shell
+ "C-l C-b" #'csm-send-buffer-to-shell
+ "C-l C-d" #'eval-defun
+ "C-l C-s" #'csm-fnl-hotswap-file
 
  "C-M-n" #'pop-tag-mark
  "C-/" #'comment-line)

    (untabify (point-min) (point-max))))

(defun csm-show-message-log ()
  (interactive)
  (switch-to-buffer " *Message-Log*"))

;; https://emacs.stackexchange.com/questions/48954/the-elisp-function-to-run-the-shell-command-in-specific-file-path/48968#48968?newreg=b86e9e5763734e37a1bee5a230d71551
;; Use "term /bin/zsh", *terminal* buffer and terminal process if you want to use zsh. It needs some work to be smooth though
(defun csm-sh-send-command (command)
  "Send COMMAND to current shell process.
    Creates new shell process if none exists.
    See URL `https://stackoverflow.com/a/7053298/5065796'"

       "e S" #'sp-backward-slurp-sexp
       "e b" #'sp-forward-barf-sexp
       "e B" #'sp-backward-barf-sexp

       "b e" #'csm-switch-to-shell

       ;; not sure why this was lost
       "m e b" #'eval-buffer

       "b m" #'csm-show-message-log
       "=" 'csm-indent-buffer)
