;; Start of oni-yasnippet (use-package yasnippet :init (yas-global-mode) :config (require 'diminish) (defun oni-yasnippet-remove-snippet-by-name (name mode) "Remove the snippet NAME from MODE's snippet tables." (and-let* ((mode-table (gethash mode yas--tables)) (uuidhash-table (yas--table-uuidhash mode-table)) (hash-table (yas--table-hash mode-table)) (snippet (gethash name uuidhash-table)) (key (yas--template-key snippet))) (remhash key hash-table) (remhash name uuidhash-table))) (defun oni-yasnippet-cleanup-snippets () "Remove some snippets that I don't like." (oni-yasnippet-remove-snippet-by-name "defun" 'lisp-interaction-mode)) (with-eval-after-load 'yasnippet (diminish 'yas-minor-mode)) (setq-default yas-buffer-local-condition yas-not-string-or-comment-condition) (define-key yas-minor-mode-map (kbd "") nil) (define-key yas-minor-mode-map (kbd "C-\\") 'yas-expand) (define-key yas-minor-mode-map (kbd "SPC") yas-maybe-expand) (define-key yas-minor-mode-map (kbd "TAB") nil) (add-hook 'yas-after-reload-hook #'oni-yasnippet-cleanup-snippets)) ;; End of oni-yasnippet