branch: scratch/editorconfig-cc commit c6d823b8a77f1fb5e3c49643f09ada6b8aeed7ae Author: 10sr <8.slas...@gmail.com> Commit: Stefan Monnier <monn...@iro.umontreal.ca>
Separate tool functions --- editorconfig.el | 66 ++++++++++++++++++++++++++++++++------------------------- 1 file changed, 37 insertions(+), 29 deletions(-) diff --git a/editorconfig.el b/editorconfig.el index f2b0dfb3b8..5730239328 100644 --- a/editorconfig.el +++ b/editorconfig.el @@ -472,34 +472,6 @@ It calls `editorconfig-get-properties-from-exec' if (require 'editorconfig-core) (editorconfig-core-get-properties-hash))) -(defun editorconfig-find-current-editorconfig () - "Find the closest .editorconfig file for current file." - (interactive) - (eval-and-compile (require 'editorconfig-core)) - (let ((file (editorconfig-core-get-nearest-editorconfig - default-directory))) - (when file - (find-file file)))) - -;;;###autoload -(defun editorconfig-display-current-properties () - "Display EditorConfig properties extracted for current buffer." - (interactive) - (if editorconfig-properties-hash - (let ( - (buf (get-buffer-create "*EditorConfig Properties*")) - (file buffer-file-name) - (props editorconfig-properties-hash)) - (with-current-buffer buf - (erase-buffer) - (insert (format "# EditorConfig for %s\n" file)) - (maphash (lambda (k v) - (insert (format "%S = %s\n" k v))) - props)) - (display-buffer buf)) - (message "Properties are not applied to current buffer yet.") - nil)) - ;;;###autoload (defun editorconfig-apply () "Apply EditorConfig properties for current buffer. @@ -553,7 +525,6 @@ in `editorconfig-exclude-modes'." finally return nil))) (editorconfig-apply))) - ;;;###autoload (define-minor-mode editorconfig-mode "Toggle EditorConfig feature. @@ -570,6 +541,43 @@ mode is not listed in `editorconfig-exclude-modes'." (add-hook hook 'editorconfig-mode-apply) (remove-hook hook 'editorconfig-mode-apply)))) + +;; Tools +;; Some useful commands for users, not required for EditorConfig to work + +;;;###autoload +(defun editorconfig-find-current-editorconfig () + "Find the closest .editorconfig file for current file." + (interactive) + (eval-and-compile (require 'editorconfig-core)) + (let ((file (editorconfig-core-get-nearest-editorconfig + default-directory))) + (when file + (find-file file)))) + +;;;###autoload +(defun editorconfig-display-current-properties () + "Display EditorConfig properties extracted for current buffer." + (interactive) + (if editorconfig-properties-hash + (let ( + (buf (get-buffer-create "*EditorConfig Properties*")) + (file buffer-file-name) + (props editorconfig-properties-hash)) + (with-current-buffer buf + (erase-buffer) + (insert (format "# EditorConfig for %s\n" file)) + (maphash (lambda (k v) + (insert (format "%S = %s\n" k v))) + props)) + (display-buffer buf)) + (message "Properties are not applied to current buffer yet.") + nil)) +;;;###autoload +(defalias 'describe-editorconfig-properties + 'editorconfig-display-current-properties) + + (provide 'editorconfig) ;;; editorconfig.el ends here