summary refs log tree commit diff
path: root/emacs.d/lib
diff options
context:
space:
mode:
authorFranck Cuny <franck.cuny@gmail.com>2017-02-18 14:51:46 -0800
committerFranck Cuny <franck.cuny@gmail.com>2017-02-18 14:51:46 -0800
commit483ae72926ec9e66ef0f2c3abe103c61f499950c (patch)
tree3527de2be293bd29061c492270d3ad55828b83c8 /emacs.d/lib
parent[notes] up (diff)
downloademacs.d-483ae72926ec9e66ef0f2c3abe103c61f499950c.tar.gz
[Emacs] Move all the configuration related to twitter to it's own file
The configuration for the style checker; the functions to create
remote files on nest; etc. All are now living in a file with all
things related to twitter.
Diffstat (limited to 'emacs.d/lib')
-rw-r--r--emacs.d/lib/funcs.el23
-rw-r--r--emacs.d/lib/twitter.el84
2 files changed, 84 insertions, 23 deletions
diff --git a/emacs.d/lib/funcs.el b/emacs.d/lib/funcs.el
index bb7d211..81330f6 100644
--- a/emacs.d/lib/funcs.el
+++ b/emacs.d/lib/funcs.el
@@ -87,32 +87,9 @@ Visit the file after creation."
   (interactive "sName of temporary file: ")
   (fc/start--file (expand-file-name (format "/tmp/%s" file-name))))
 
-(defun fc/start-nest-tmp-file (file-name)
-  "Create a file in ~/tmp on nest for the give file name."
-  (interactive "sName of the temporary file: ")
-  (fc/start--file (expand-file-name (format "/nest.smfc.twitter.com:~/tmp/%s" file-name))))
-
 ;; open dired buffer with tramp on remote host
 (defun fc/remote--dired (host)
   "Open dired on a remote host."
   (dired (concat "/" host ":")))
 
-(defun fc/remote-nest-dired ()
-  "Open dired on nest."
-  (interactive)
-  (fc/remote--dired "nest.smfc.twitter.com"))
-
-;; un/monitor hosts by running mth remotely
-(defun fc/silence-host (host)
-  (interactive "sHostname: ")
-  (let ((default-directory "/ssh:nest.smfc.twitter.com:"))
-    (start-file-process "mth" (get-buffer-create "*mth*")
-                        "/usr/local/bin/mth" "silence" host "99 years")))
-
-(defun fc/unsilence-host (host)
-  (interactive "sHostname: ")
-  (let ((default-directory "/ssh:nest.smfc.twitter.com:"))
-    (start-file-process "mth" (get-buffer-create "*mth*")
-                        "/usr/local/bin/mth" "unsilence" host)))
-
 (provide 'funcs)
diff --git a/emacs.d/lib/twitter.el b/emacs.d/lib/twitter.el
new file mode 100644
index 0000000..fcf3383
--- /dev/null
+++ b/emacs.d/lib/twitter.el
@@ -0,0 +1,84 @@
+;; packages that are needed only for twitter
+
+(use-package pants
+  ;; interface to pants
+  :load-path (lambda () (expand-file-name  "~/src/pants.el/"))
+
+  :config
+  (setq pants-completion-system 'ivy
+        pants-source-tree-root "/Users/fcuny/src/source"
+        pants-bury-compilation-buffer t
+        pants-extra-args "-q")
+
+  :bind (("C-c b" . pants-find-build-file)
+         ("C-c r" . pants-run-binary)
+         ("C-c t" . pants-run-test)))
+
+(use-package puppet-mode
+  ;; mode to support puppet and work with puppet
+  :ensure t
+
+  :mode ("\\.pp\\'" . puppet-mode)
+
+  :init (add-hook 'puppet-mode-hook 'flycheck-mode)
+
+  :config
+  (when (memq window-system '(mac ns x))
+    (dolist (var '("GEM_HOME" "GEM_PATH" "MY_RUBY_HOME"))
+      (unless (getenv var)
+        (exec-path-from-shell-copy-env var))))
+  (setq flycheck-puppet-lint-rc "/Users/fcuny/src/twitter-ops/utilities/puppet/.puppet-lint.rc"))
+
+(use-package thrift
+  ;; mode to work with thrift files
+  :ensure t
+
+  :mode ("\\.thrift\\'" . thrift-mode)
+
+  :config
+  (setq thrift-indent-level 2))
+
+;; custom functions
+
+(defun fc/check-source-p ()
+  ;; predicate for checking style only on python files
+  (and (executable-find "check.pex")
+       (buffer-file-name)
+       (string-match "src/source/.*\.py$" (buffer-file-name))))
+
+;;; errors are reported like this:
+;;; E241:ERROR   <file name>:<line> <message>
+(flycheck-define-checker source-check
+  "A syntax checker for python source code in Source, using `check.pex'"
+  :command ("check.pex" source)
+  :error-patterns ((error line-start (id (1+ nonl)) ":ERROR" (1+ nonl) ":" line (message) line-end)
+                   (warning line-start (id (1+ nonl)) ":WARNING" (1+ nonl) ":" line (message) line-end))
+  :predicate fc/check-source-p
+  :modes (python-mode))
+
+(add-to-list 'flycheck-checkers 'source-check)
+
+(defun fc/start-nest-tmp-file (file-name)
+  "Create a file in ~/tmp on nest for the give file name."
+  (interactive "sName of the temporary file: ")
+  (fc/start--file (expand-file-name (format "/nest.smfc.twitter.com:~/tmp/%s" file-name))))
+
+(defun fc/remote-nest-dired ()
+  "Open dired on nest."
+  (interactive)
+  (fc/remote--dired "nest.smfc.twitter.com"))
+
+;; un/monitor hosts by running mth remotely
+(defun fc/silence-host (host)
+  (interactive "sHostname: ")
+  (let ((default-directory "/ssh:nest.smfc.twitter.com:"))
+    (start-file-process "mth" (get-buffer-create "*mth*")
+                        "/usr/local/bin/mth" "silence" host "99 years")))
+
+(defun fc/unsilence-host (host)
+  (interactive "sHostname: ")
+  (let ((default-directory "/ssh:nest.smfc.twitter.com:"))
+    (start-file-process "mth" (get-buffer-create "*mth*")
+                        "/usr/local/bin/mth" "unsilence" host)))
+
+(provide 'twitter)