about summary refs log tree commit diff
path: root/configs/shared/emacs/.emacs.d/elpa/docker-20180820.1130/docker-process.el
diff options
context:
space:
mode:
authorWilliam Carroll <wpcarro@gmail.com>2018-10-02T13·54-0400
committerWilliam Carroll <wpcarro@gmail.com>2018-10-02T13·54-0400
commit9da3ffee41fa481a404a5fb19b7128d557df6114 (patch)
treeabac717a4d44360910233bd6a7dc7ad956f2440a /configs/shared/emacs/.emacs.d/elpa/docker-20180820.1130/docker-process.el
parentde97c7bcd0ed4b4877c1ae70e86cb37386755a37 (diff)
Update Emacs packages
This is a massive diff that I had to do in a hurry - when leaving
Urbint. I'm pretty sure that most of these are updating Emacs packages,
but I'm not positive.
Diffstat (limited to 'configs/shared/emacs/.emacs.d/elpa/docker-20180820.1130/docker-process.el')
-rw-r--r--configs/shared/emacs/.emacs.d/elpa/docker-20180820.1130/docker-process.el58
1 files changed, 58 insertions, 0 deletions
diff --git a/configs/shared/emacs/.emacs.d/elpa/docker-20180820.1130/docker-process.el b/configs/shared/emacs/.emacs.d/elpa/docker-20180820.1130/docker-process.el
new file mode 100644
index 000000000000..16bf262594fc
--- /dev/null
+++ b/configs/shared/emacs/.emacs.d/elpa/docker-20180820.1130/docker-process.el
@@ -0,0 +1,58 @@
+;;; docker-process.el --- Emacs interface to Docker  -*- lexical-binding: t -*-
+
+;; Author: Philippe Vaucher <philippe.vaucher@gmail.com>
+
+;; This file is NOT part of GNU Emacs.
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3, or (at your option)
+;; any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING.  If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Commentary:
+
+;;; Code:
+
+(require 's)
+(require 'dash)
+(require 'docker-group)
+
+(defcustom docker-command "docker"
+  "The docker binary."
+  :group 'docker
+  :type 'string)
+
+(defcustom docker-arguments '()
+  "Default arguments for `docker'."
+  :group 'docker
+  :type '(repeat (string :tag "Argument")))
+
+(defcustom docker-run-as-root nil
+  "Run docker as root."
+  :group 'docker
+  :type 'boolean)
+
+(defun docker-run (action &rest args)
+  "Execute \"docker ACTION\" using ARGS."
+  (let ((default-directory (if (and docker-run-as-root (not (file-remote-p default-directory))) "/sudo::" default-directory)))
+    (let ((command (format "%s %s %s %s"
+                           docker-command
+                           (s-join " " docker-arguments)
+                           action
+                           (s-join " " (-flatten (-non-nil args))))))
+      (message command)
+      (shell-command-to-string command))))
+
+(provide 'docker-process)
+
+;;; docker-process.el ends here