doomemacs/modules/module-db.el
Henrik Lissner fc78d46f30 v1.1.3 bump
+ sp: be quiet
+ popup: load *eval* rule earlier
+ evil-anzu: defer, due to long load time
+ Update makefile
+ Clean up core.el
+ line-spacing = 1, less rpadding on nlinum-format
+ Add *esup* popup rule
+ Refactor doom macro
+ Refactor doom-byte-compile
+ :big [SIZE] + use inconsolata in big-mode
+ :v TAB -> doom/yas-insert-snippet
+ eval: use pop-to-buffer instead of doom/popup-buffer
+ Refactor backspace fn; handle pair deletion issue with sp better
+ \#bringbackwindowsystem
+ db: remove unused var
+ Update init.el
2016-05-28 22:11:03 -04:00

44 lines
1.4 KiB
EmacsLisp

;;; module-db.el
(use-package sql-mode
:mode "\\.sql$"
:config
(def-popup! "\\*SQL.*\\*" :align below :size 0.4 :noselect t :regexp t)
(evil-set-initial-state 'sql-interactive-mode 'emacs)
(push 'sql-interactive-mode doom-popup-protect-modes)
;; For my local development environment
(setq sql-pop-to-buffer-after-send-region nil
sql-server "docker.dev"
sql-user "root"
sql-password ""))
;; extract these
(evil-define-command doom:db-select (product)
(interactive "<a>")
(sql-set-product (intern product))
(message "sql-product set to %s" product))
(evil-define-operator doom:db (beg end &optional bang product)
"Open a db connection, reopen an old one, or send the selected region to the
open comint."
:type inclusive
(interactive "<r><!><a>")
(let ((sql-buf (get-buffer sql-buffer)))
(when (and bang sql-buf)
(message "Restarting connection")
(kill-buffer sql-buf))
(if sql-buf
(if (or (get-buffer-window sql-buf)
(evil-visual-state-p))
(sql-send-region beg end)
(doom/popup-buffer sql-buf))
(let ((product (if product (intern product) sql-product)))
(unless product
(user-error "No SQL product is set"))
(sql-set-product product)
(sql-product-interactive product 0)
(message "Started new %s connection" product)))))
(provide 'module-db)
;;; module-db.el ends here