spacemacs/layers/+spacemacs/spacemacs-editing/funcs.el
2018-01-04 02:00:25 -05:00

72 lines
2 KiB
EmacsLisp
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

;;; funcs.el --- Spacemacs editing Layer functions File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs
;;
;; This file is not part of GNU Emacs.
;;
;;; License: GPLv3
;; smartparens
(defun spacemacs/smartparens-pair-newline (id action context)
(save-excursion
(newline)
(indent-according-to-mode)))
(defun spacemacs/smartparens-pair-newline-and-indent (id action context)
(spacemacs/smartparens-pair-newline id action context)
(indent-according-to-mode))
(defun spacemacs/smart-closing-parenthesis ()
(interactive)
(let* ((sp-navigate-close-if-unbalanced t)
(current-pos (point))
(current-line (line-number-at-pos current-pos))
(next-pos (save-excursion
(sp-up-sexp)
(point)))
(next-line (line-number-at-pos next-pos)))
(cond
((and (= current-line next-line)
(not (= current-pos next-pos)))
(sp-up-sexp))
(t
(insert-char ?\))))))
(defun spacemacs//conditionally-enable-smartparens-mode ()
"Enable `smartparens-mode' in the minibuffer, during `eval-expression'."
(if (eq this-command 'eval-expression)
(smartparens-mode)))
(defun spacemacs//adaptive-smartparent-pair-overlay-face ()
(set-face-attribute 'sp-pair-overlay-face nil
:inherit 'lazy-highlight
:background nil
:foreground nil))
;; uuidgen
;; TODO spacemacs/uuidgen-3 and spacemacs/uuidgen-5
(defun spacemacs/uuidgen-1 (arg)
"Return a time based UUID (UUIDv1).
If ARG is non nil then use CID format."
(interactive "P")
(let ((uuid (uuidgen-1)))
(if arg
(insert-uuid-cid uuid)
(insert uuid))))
(defun spacemacs/uuidgen-4 (arg)
"Return an UUID from random numbers (UUIDv4).
If ARG is non nil then use CID format."
(interactive "P")
(let ((uuid (uuidgen-4)))
(if arg
(insert-uuid-cid uuid)
(insert uuid))))