;;; systemd-company.el --- company backend for systemd unit directives -*- lexical-binding: t -*- ;; 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: (require 'cl-lib) (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/.*