diff --git a/systemd-company.el b/systemd-company.el new file mode 100644 index 0000000..938f752 --- /dev/null +++ b/systemd-company.el @@ -0,0 +1,127 @@ +;;; systemd-company.el --- company backend for systemd unit directives + +;; Copyright (C) 2015 Mark Oteiza + +;; Author: Mark Oteiza + +;; 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 +;; of the License, 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 this program. If not, see . + +;;; Commentary: + +;;; Code: + +(declare-function company-mode "company") +(declare-function company-begin-backend "company") +(declare-function company-grab-symbol "company") + +(defconst systemd-company-directives + ;; TODO: keep a script of sorts for generating this list. systemd + ;; source has a python script in tools/ for parsing the + ;; documentation xml for the unit directives. + ;; + ;; forcer on freenode threw together a curl monstrosity for achieving + ;; the same: + ;; curl -s http://www.freedesktop.org/software/systemd/man/systemd.directives.html | tr -d '\n' | sed 's/>/>\n/g' | sed -ne '/Unit directives/,/Options on the kernel/p' | sed -ne 's/.*