doomemacs/core/defuns/defuns-ui.el

108 lines
3.7 KiB
EmacsLisp
Raw Normal View History

2015-06-15 09:05:52 +02:00
;;; defuns-ui.el
;; for ../core-ui.el
;;;###autoload (autoload 'narf:toggle-fullscreen "defuns-ui" nil t)
2016-04-26 02:00:19 -04:00
;;;###autoload (autoload 'narf:set-columns "defuns-ui" nil t)
(after! evil
2016-04-26 02:00:19 -04:00
(evil-define-command narf:set-columns (&optional bang columns)
"Adjusts visual-fill-column-width on the fly."
(interactive "<!><a>")
(if (or (= (length columns) 0) bang)
(progn
(setq visual-fill-column-width 80)
(when visual-fill-column-mode
(visual-fill-column-mode -1)))
(setq columns (string-to-number columns))
(when (> columns 30)
(setq visual-fill-column-width columns)))
(if visual-fill-column-mode
(visual-fill-column--adjust-window)
(visual-fill-column-mode 1)))
2016-03-03 01:37:08 -05:00
(evil-define-command narf:toggle-fullscreen ()
(interactive)
(set-frame-parameter nil 'fullscreen (if (not (frame-parameter nil 'fullscreen)) 'fullboth))))
2015-11-10 18:10:32 -05:00
2015-10-01 03:41:16 -04:00
;;;###autoload
(defun narf/reset-theme ()
(interactive)
2016-03-23 11:55:52 -04:00
(narf/load-theme (or narf-current-theme narf-default-theme)))
2015-11-10 18:10:32 -05:00
;;;###autoload
(defun narf/load-font (font)
2015-11-10 18:10:32 -05:00
(interactive)
2016-02-04 19:00:03 -05:00
(set-frame-font font t)
(setq narf-current-font font))
;;;###autoload
(defun narf/load-theme (theme &optional suppress-font)
(interactive)
(when narf-current-theme
(disable-theme narf-current-theme))
(load-theme theme t)
(unless suppress-font
(narf/load-font narf-current-font))
(setq narf-current-theme theme))
2015-10-01 03:41:16 -04:00
2015-11-10 18:10:32 -05:00
;;;###autoload
(defun narf/show-as (how &optional pred)
(let* ((beg (match-beginning 1))
(end (match-end 1))
(ok (or (not pred) (funcall pred beg end))))
(when ok
(compose-region beg end how 'decompose-region))
nil))
2016-04-12 02:59:36 -04:00
;;;###autoload
(defun narf/add-whitespace (&optional start end)
2016-04-16 21:27:59 -04:00
"Maintain indentation whitespace in buffer. Used so that highlight-indentation will
display consistent guides. Whitespace is stripped out on save, so this doesn't affect the
end file."
2016-04-12 02:59:36 -04:00
(interactive (progn (barf-if-buffer-read-only)
(if (use-region-p)
(list (region-beginning) (region-end))
(list nil nil))))
2016-04-16 21:27:59 -04:00
(unless indent-tabs-mode
(save-match-data
(save-excursion
(let ((end-marker (copy-marker (or end (point-max))))
(start (or start (point-min))))
(goto-char start)
(while (and (re-search-forward "^$" end-marker t) (not (>= (point) end-marker)))
(let (line-start line-end next-start next-end)
2016-04-16 21:27:59 -04:00
(save-excursion
;; Check previous line indent
(forward-line -1)
(setq line-start (point)
line-end (save-excursion (back-to-indentation) (point)))
;; Check next line indent
(forward-line 2)
(setq next-start (point)
next-end (save-excursion (back-to-indentation) (point)))
;; Back to origin
(forward-line -1)
;; Adjust indent
(let* ((line-indent (- line-end line-start))
(next-indent (- next-end next-start))
(indent (min line-indent next-indent)))
(insert (make-string (if (zerop indent) 0 (1+ indent)) ? )))))
2016-04-16 21:27:59 -04:00
(forward-line 1)))))
(set-buffer-modified-p nil))
2016-04-12 02:59:36 -04:00
nil)
2016-04-14 12:54:25 -04:00
;;;###autoload
(defun narf/imenu-list-quit ()
(interactive)
(quit-window)
(mapc (lambda (b) (with-current-buffer b
(when imenu-list-minor-mode
(imenu-list-minor-mode -1))))
(narf/get-visible-buffers (narf/get-real-buffers))))
;;;###autoload
(defun narf|hide-mode-line (&rest _)
(setq mode-line-format nil))
2015-06-15 09:05:52 +02:00
(provide 'defuns-ui)
;;; defuns-ui.el ends here