Explorar o código

Took out Windows stuff as no longer using, added some pb functions

Simon Watson %!s(int64=2) %!d(string=hai) anos
pai
achega
ecf6463726
Modificáronse 2 ficheiros con 56 adicións e 25 borrados
  1. 21 25
      emacs/.emacs-all
  2. 35 0
      emacs/elisp/helpers.el

+ 21 - 25
emacs/.emacs-all

@@ -1,4 +1,3 @@
-;;; PACKAGES
 ;; Bootstrap Straight Package Manager
 (defvar bootstrap-version)
 (let ((bootstrap-file
@@ -97,9 +96,7 @@
 (global-set-key (kbd "C-c f") 'pophint:do-flexibly)
 
 ;;; Code folding
-(add-hook 'perl-mode-hook 'hs-minor-mode)
-(add-hook 'lisp-mode-hook 'hs-minor-mode)
-(add-hook 'emacs-lisp-mode-hook 'hs-minor-mode)
+(add-hook 'prog-mode-hook 'hs-minor-mode)
 
 (global-set-key (kbd "C-c a") 'hs-toggle-hiding)
 
@@ -110,12 +107,21 @@
 (straight-use-package
  '(symon :type git :host github
 	 :repo "zk-phi/symon"))
+(symon-mode 1)
 
 (straight-use-package
  '(telephone-line :type git :host github
 		  :repo "dbordak/telephone-line"))
 (telephone-line-mode 1)
 
+;;; Indent highlighting
+(straight-use-package
+ '(highlight-indent-guides
+   :type git :host github
+   :repo "DarthFennec/highlight-indent-guides"))
+(setq highlight-indent-guides-method 'character)
+(add-hook 'prog-mode-hook 'highlight-indent-guides-mode)
+
 (require 'yasnippet)
 
 ;; Configure focus
@@ -215,11 +221,10 @@
 (global-set-key (kbd "C-c ;") 'comment-line)
 (global-set-key (kbd "C-c b") 'fzf-switch-buffer)
 (global-set-key (kbd "C-c z") 'fzf-find-file)
-(defun wrap-diff-hl-enable ()
-  (interactive)
-  (diff-hl-mode)
-  (diff-hl-flydiff-mode))
-(global-set-key (kbd "C-c e") 'wrap-diff-hl-enable)
+(global-set-key (kbd "C-c e") '(lambda ()
+				 (interactive)
+				 (diff-hl-mode)
+				 (diff-hl-flydiff-mode)))
 (global-set-key (kbd "C-c d") 'slime-describe-symbol)
 (global-set-key (kbd "C-c M-r") 'slime-restart-inferior-lisp)
 (global-set-key (kbd "C-c D") 'dimmer-mode)
@@ -227,15 +232,15 @@
 (global-set-key (kbd "C-c F") 'focus-mode)
 (global-set-key (kbd "C-c r") 'reload-dot-emacs)
 (global-set-key (kbd "C-c l") 'display-line-numbers-mode)
-(global-set-key (kbd "C-c w") 'windresize)
+(global-set-key (kbd "C-c w") 'window-swap-states)
+(global-set-key (kbd "C-c C-w") 'windresize)
 (global-set-key (kbd "C-c W") 'whitespace-mode)
 (global-set-key (kbd "C-c t") 'sol-dk)
 (global-set-key (kbd "C-c y") 'sol-l) ; Quick toggle evil-mode for slime err
 (global-set-key (kbd "C-c g") 'magit)
-(global-set-key (kbd "C-c h") 'tramp-cleanup-connection)
 (global-set-key (kbd "C-c C-.") '(lambda ()
-				  (interactive)
-				  (switch-to-buffer "*Messages*")))
+				   (interactive)
+				   (switch-to-buffer "*Messages*")))
 (global-set-key (kbd "C-c C-f") 'find-file-at-point)
 
 ;;; Can probably be replaced with
@@ -279,6 +284,9 @@
 (load "~/Repos/dotfiles/emacs/elisp/rclone.el")
 (global-set-key (kbd "C-c o") 'rclone-post-buffer)
 (global-set-key (kbd "C-c C-o") 'rclone-get-org)
+(global-set-key (kbd "C-c C-P") 'post-region-to-pb)
+(global-set-key (kbd "C-c 2 p") 'display-pb)
+
 
 ;; Small helper functions
 (load "~/Repos/dotfiles/emacs/elisp/helpers.el")
@@ -313,18 +321,6 @@
 	  (progn
 	    (load-theme 'solarized-dark t)))))
 
-;; Load for Windows10
-(if (eq system-type 'windows-nt)
-    (progn
-      ;; Configure yasnippet
-      (setq yas-snippet-dirs
-	    '("C:/Users/watsonsi/Documents/Github/dotfiles/emacs/yasnippets/"))
-      (yas-global-mode 1)
-
-      (load "C:/Users/watsonsi/Documents/GitHub/dotfiles/emacs/windows-load/customs.el")
-      (setq visible-bell 1)
-      (load-theme 'solarized-light t)))
-
 ;; Load for GUI Linux
 (if (eq system-type 'gnu/linux)
     (if (display-graphic-p)

+ 35 - 0
emacs/elisp/helpers.el

@@ -12,3 +12,38 @@
   (let ((buffers (magit-mode-get-buffers)))
     (magit-restore-window-configuration)
     (mapc #'kill-buffer buffers)))
+
+(defcustom *last-pb-url* nil
+  "Contains the URL of the last post to the pastebin."
+  :set (lambda (sym val)
+         (set-default sym val)
+         (message "Set %s to %s" sym val)))
+
+;; See: https://with-emacs.com/posts/tutorials/almost-all-you-need-to-know-about-variables/
+(defmacro csetq (sym val)
+  `(funcall (or (get ',sym 'custom-set) 'set-default) ',sym ,val))
+
+(defun post-region-to-pb ()
+  "Post buffer to http://chate.io pastebin"
+  (interactive)
+  (csetq *last-pb-url*
+	 (substring
+	  (with-output-to-string
+	    (shell-command-on-region
+	     (region-beginning)
+	     (region-end)
+	     "curl -s -F \"file=@-\" -H \"expire:60min\" http://chate.io:669"
+	     standard-output))
+	  0 -1))
+  (message *last-pb-url*))
+
+(defun display-pb (&optional url-arg)
+  "Display either last pb url content, or passed URL.
+Can also be used to display HTML/text via curl in new buf."
+  (interactive)
+  (let* ((url (if url-arg url-arg *last-pb-url*))
+	(r
+	 (shell-command-to-string (format "curl -s %s" url))))
+    (switch-to-buffer
+     (get-buffer-create url))
+    (insert r)))