Compare commits
16 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8742607120 | ||
|
|
964ec9d4e0 | ||
|
|
b6ae63a236 | ||
|
|
0416fe454a | ||
|
|
20c9d97e24 | ||
|
|
ec8f6cfe9d | ||
|
|
51c148e09a | ||
|
|
9265ef89ff | ||
|
|
077aedde23 | ||
|
|
a9f82b1f8b | ||
|
|
c6e06dfa93 | ||
|
|
401d71c2dd | ||
|
|
21d50f27d8 | ||
|
|
e97f78ee11 | ||
|
|
228f0b99ca | ||
|
|
22f024fe8f |
3
README
3
README
@ -7,8 +7,7 @@ in `systemd.el`.
|
|||||||
Installation
|
Installation
|
||||||
------------
|
------------
|
||||||
|
|
||||||
Available as the `systemd` package on MELPA <http://melpa.org/> and
|
Available as the `systemd` package on MELPA <https://melpa.org/>.
|
||||||
marmalade <https://marmalade-repo.org/>.
|
|
||||||
|
|
||||||
In Emacs, one can locally install as a package with `make dist` and
|
In Emacs, one can locally install as a package with `make dist` and
|
||||||
|
|
||||||
|
|||||||
@ -3,35 +3,55 @@ ARPAllTargets
|
|||||||
ARPIPTargets
|
ARPIPTargets
|
||||||
ARPIntervalSec
|
ARPIntervalSec
|
||||||
ARPValidate
|
ARPValidate
|
||||||
|
Activate
|
||||||
ActiveSlave
|
ActiveSlave
|
||||||
|
AdActorSystem
|
||||||
|
AdActorSystemPriority
|
||||||
AdSelect
|
AdSelect
|
||||||
|
AdUserPortKey
|
||||||
Address
|
Address
|
||||||
|
AddressAutoconfiguration
|
||||||
|
Advertise
|
||||||
AgeingTimeSec
|
AgeingTimeSec
|
||||||
|
Alias
|
||||||
|
AllMulticast
|
||||||
AllSlavesActive
|
AllSlavesActive
|
||||||
|
AllowLocalRemote
|
||||||
AllowPortToBeRoot
|
AllowPortToBeRoot
|
||||||
|
AllowedIPs
|
||||||
|
Anonymize
|
||||||
Architecture
|
Architecture
|
||||||
|
AssignToLoopback
|
||||||
|
AssociatedWith
|
||||||
AutoJoin
|
AutoJoin
|
||||||
AutoNegotiation
|
AutoNegotiation
|
||||||
|
BSSID
|
||||||
BindCarrier
|
BindCarrier
|
||||||
|
BitRate
|
||||||
BitsPerSecond
|
BitsPerSecond
|
||||||
|
BlackList
|
||||||
Bond
|
Bond
|
||||||
Bridge
|
Bridge
|
||||||
Cache
|
Broadcast
|
||||||
ClientIdentifier
|
ClientIdentifier
|
||||||
|
CombinedChannels
|
||||||
|
ConfigureWithoutCarrier
|
||||||
CopyDSCP
|
CopyDSCP
|
||||||
Cost
|
Cost
|
||||||
CriticalConnection
|
|
||||||
DHCP
|
DHCP
|
||||||
DHCPServer
|
DHCPServer
|
||||||
DNS
|
DNS
|
||||||
|
DNSDefaultRoute
|
||||||
|
DNSLifetimeSec
|
||||||
|
DNSOverTLS
|
||||||
DNSSEC
|
DNSSEC
|
||||||
DNSSECNegativeTrustAnchors
|
DNSSECNegativeTrustAnchors
|
||||||
DNSStubListener
|
|
||||||
DUIDRawData
|
DUIDRawData
|
||||||
DUIDType
|
DUIDType
|
||||||
DefaultLeaseTimeSec
|
DefaultLeaseTimeSec
|
||||||
Description
|
|
||||||
DefaultPVID
|
DefaultPVID
|
||||||
|
DefaultRouteOnDevice
|
||||||
|
Description
|
||||||
Destination
|
Destination
|
||||||
DestinationPort
|
DestinationPort
|
||||||
DiscoverPathMTU
|
DiscoverPathMTU
|
||||||
@ -40,26 +60,44 @@ DownDelaySec
|
|||||||
Driver
|
Driver
|
||||||
Duplex
|
Duplex
|
||||||
DuplicateAddressDetection
|
DuplicateAddressDetection
|
||||||
|
DynamicTransmitLoadBalancing
|
||||||
|
ERSPANIndex
|
||||||
EgressUntagged
|
EgressUntagged
|
||||||
EmitDNS
|
EmitDNS
|
||||||
|
EmitDomains
|
||||||
EmitLLDP
|
EmitLLDP
|
||||||
EmitNTP
|
EmitNTP
|
||||||
EmitRouter
|
EmitRouter
|
||||||
|
EmitSIP
|
||||||
EmitTimezone
|
EmitTimezone
|
||||||
|
Encapsulation
|
||||||
EncapsulationLimit
|
EncapsulationLimit
|
||||||
|
EncapsulationType
|
||||||
|
Encrypt
|
||||||
|
Endpoint
|
||||||
FDBAgeingSec
|
FDBAgeingSec
|
||||||
|
FOUDestinationPort
|
||||||
|
FOUSourcePort
|
||||||
FailOverMACPolicy
|
FailOverMACPolicy
|
||||||
FallbackDNS
|
Family
|
||||||
FallbackNTP
|
|
||||||
FastLeave
|
FastLeave
|
||||||
|
FastOpenNoCookie
|
||||||
|
FirewallMark
|
||||||
|
Flags
|
||||||
FlowLabel
|
FlowLabel
|
||||||
|
FooOverUDP
|
||||||
|
ForceDHCPv6PDOtherInformation
|
||||||
ForwardDelaySec
|
ForwardDelaySec
|
||||||
|
From
|
||||||
GVRP
|
GVRP
|
||||||
Gateway
|
Gateway
|
||||||
GatewayOnlink
|
GatewayOnLink
|
||||||
|
GenericProtocolExtension
|
||||||
GenericReceiveOffload
|
GenericReceiveOffload
|
||||||
GenericSegmentationOffload
|
GenericSegmentationOffload
|
||||||
GratuitousARP
|
GratuitousARP
|
||||||
|
Group
|
||||||
|
GroupForwardMask
|
||||||
GroupPolicyExtension
|
GroupPolicyExtension
|
||||||
HairPin
|
HairPin
|
||||||
HelloTimeSec
|
HelloTimeSec
|
||||||
@ -67,23 +105,42 @@ HomeAddress
|
|||||||
Host
|
Host
|
||||||
Hostname
|
Hostname
|
||||||
IAID
|
IAID
|
||||||
|
IPDoNotFragment
|
||||||
IPForward
|
IPForward
|
||||||
IPMasquerade
|
IPMasquerade
|
||||||
|
IPProtocol
|
||||||
|
IPServiceType
|
||||||
|
IPVLAN
|
||||||
IPv4LLRoute
|
IPv4LLRoute
|
||||||
IPv4ProxyARP
|
IPv4ProxyARP
|
||||||
IPv6AcceptRA
|
IPv6AcceptRA
|
||||||
IPv6DuplicateAddressDetection
|
IPv6DuplicateAddressDetection
|
||||||
IPv6FlowLabel
|
IPv6FlowLabel
|
||||||
IPv6HopLimit
|
IPv6HopLimit
|
||||||
|
IPv6MTUBytes
|
||||||
IPv6Preference
|
IPv6Preference
|
||||||
|
IPv6PrefixDelegation
|
||||||
IPv6PrivacyExtensions
|
IPv6PrivacyExtensions
|
||||||
IPv6ProxyNDP
|
IPv6ProxyNDP
|
||||||
IPv6ProxyNDPAddress
|
IPv6ProxyNDPAddress
|
||||||
|
IPv6RapidDeploymentPrefix
|
||||||
IPv6Token
|
IPv6Token
|
||||||
|
ISATAP
|
||||||
Id
|
Id
|
||||||
|
IgnoreCarrierLoss
|
||||||
|
IncomingInterface
|
||||||
|
Independent
|
||||||
|
InitialAdvertisedReceiveWindow
|
||||||
|
InitialCongestionWindow
|
||||||
InputKey
|
InputKey
|
||||||
|
InterfaceId
|
||||||
|
InvertRule
|
||||||
|
KeepConfiguration
|
||||||
KernelCommandLine
|
KernelCommandLine
|
||||||
|
KernelVersion
|
||||||
Key
|
Key
|
||||||
|
KeyFile
|
||||||
|
KeyId
|
||||||
Kind
|
Kind
|
||||||
L2MissNotification
|
L2MissNotification
|
||||||
L3MissNotification
|
L3MissNotification
|
||||||
@ -92,7 +149,11 @@ LLDP
|
|||||||
LLMNR
|
LLMNR
|
||||||
Label
|
Label
|
||||||
LargeReceiveOffload
|
LargeReceiveOffload
|
||||||
|
Layer2SpecificHeader
|
||||||
LearnPacketIntervalSec
|
LearnPacketIntervalSec
|
||||||
|
Learning
|
||||||
|
LifetimeSec
|
||||||
|
LinkLayerAddress
|
||||||
LinkLocalAddressing
|
LinkLocalAddressing
|
||||||
ListenPort
|
ListenPort
|
||||||
Local
|
Local
|
||||||
@ -100,85 +161,156 @@ LooseBinding
|
|||||||
MACAddress
|
MACAddress
|
||||||
MACAddressPolicy
|
MACAddressPolicy
|
||||||
MACVLAN
|
MACVLAN
|
||||||
|
MACsec
|
||||||
MIIMonitorSec
|
MIIMonitorSec
|
||||||
MTUBytes
|
MTUBytes
|
||||||
MVRP
|
MVRP
|
||||||
MacLearning
|
MacLearning
|
||||||
ManageTemporaryAddress
|
ManageTemporaryAddress
|
||||||
|
Managed
|
||||||
MaxAgeSec
|
MaxAgeSec
|
||||||
|
MaxAttempts
|
||||||
MaxLeaseTimeSec
|
MaxLeaseTimeSec
|
||||||
MaximumFDBEntries
|
MaximumFDBEntries
|
||||||
Metric
|
Metric
|
||||||
MinLinks
|
MinLinks
|
||||||
Mode
|
Mode
|
||||||
MultiQueue
|
MultiQueue
|
||||||
|
Multicast
|
||||||
MulticastDNS
|
MulticastDNS
|
||||||
|
MulticastFlood
|
||||||
|
MulticastIGMPVersion
|
||||||
MulticastQuerier
|
MulticastQuerier
|
||||||
|
MulticastRouter
|
||||||
MulticastSnooping
|
MulticastSnooping
|
||||||
|
MulticastToUnicast
|
||||||
NTP
|
NTP
|
||||||
Name
|
Name
|
||||||
NamePolicy
|
NamePolicy
|
||||||
OneQueue
|
NeighborSuppression
|
||||||
|
NetworkEmulatorDelayJitterSec
|
||||||
|
NetworkEmulatorDelaySec
|
||||||
|
NetworkEmulatorDuplicateRate
|
||||||
|
NetworkEmulatorLossRate
|
||||||
|
NetworkEmulatorPacketLimit
|
||||||
|
OnLink
|
||||||
OriginalName
|
OriginalName
|
||||||
|
OtherChannels
|
||||||
|
OtherInformation
|
||||||
|
OutgoingInterface
|
||||||
OutputKey
|
OutputKey
|
||||||
PVID
|
PVID
|
||||||
PacketInfo
|
PacketInfo
|
||||||
|
PacketNumber
|
||||||
PacketsPerSlave
|
PacketsPerSlave
|
||||||
|
Parent
|
||||||
Path
|
Path
|
||||||
Peer
|
Peer
|
||||||
|
PeerPort
|
||||||
|
PeerSessionId
|
||||||
|
PeerTunnelId
|
||||||
|
PersistentKeepalive
|
||||||
PoolOffset
|
PoolOffset
|
||||||
PoolSize
|
PoolSize
|
||||||
Port
|
Port
|
||||||
PortRange
|
PortRange
|
||||||
PreferredLifetime
|
PreferredLifetime
|
||||||
|
PreferredLifetimeSec
|
||||||
PreferredSource
|
PreferredSource
|
||||||
Prefix
|
Prefix
|
||||||
|
PrefixDelegationHint
|
||||||
PrefixRoute
|
PrefixRoute
|
||||||
|
PresharedKey
|
||||||
|
PresharedKeyFile
|
||||||
PrimaryReselectPolicy
|
PrimaryReselectPolicy
|
||||||
PrimarySlave
|
PrimarySlave
|
||||||
|
Priority
|
||||||
|
PrivateKey
|
||||||
|
PrivateKeyFile
|
||||||
|
Property
|
||||||
Protocol
|
Protocol
|
||||||
|
ProxyARP
|
||||||
|
ProxyARPWiFi
|
||||||
|
PublicKey
|
||||||
|
QuickAck
|
||||||
|
RapidCommit
|
||||||
ReduceARPProxy
|
ReduceARPProxy
|
||||||
Remote
|
Remote
|
||||||
RemoteChecksumRx
|
RemoteChecksumRx
|
||||||
RemoteChecksumTx
|
RemoteChecksumTx
|
||||||
ReorderHeader
|
ReorderHeader
|
||||||
RequestBroadcast
|
RequestBroadcast
|
||||||
|
RequestOptions
|
||||||
|
RequiredForOnline
|
||||||
ResendIGMP
|
ResendIGMP
|
||||||
|
RestartSec
|
||||||
|
Route
|
||||||
RouteMetric
|
RouteMetric
|
||||||
RouteShortCircuit
|
RouteShortCircuit
|
||||||
RouteTable
|
RouteTable
|
||||||
|
RouterLifetimeSec
|
||||||
|
RouterPreference
|
||||||
|
RoutesToDNS
|
||||||
|
RxBufferSize
|
||||||
|
RxChannels
|
||||||
|
SSID
|
||||||
STP
|
STP
|
||||||
|
SamplePoint
|
||||||
Scope
|
Scope
|
||||||
SendHostname
|
SendHostname
|
||||||
|
SendOption
|
||||||
|
SendRelease
|
||||||
|
SerializeTunneledPackets
|
||||||
|
SessionId
|
||||||
Source
|
Source
|
||||||
|
SourcePort
|
||||||
|
TCP6SegmentationOffload
|
||||||
TCPSegmentationOffload
|
TCPSegmentationOffload
|
||||||
TOS
|
TOS
|
||||||
TTL
|
TTL
|
||||||
|
TTLPropagate
|
||||||
Table
|
Table
|
||||||
Timezone
|
Timezone
|
||||||
|
To
|
||||||
TransmitHashPolicy
|
TransmitHashPolicy
|
||||||
|
TripleSampling
|
||||||
Tunnel
|
Tunnel
|
||||||
|
TunnelId
|
||||||
|
TxBufferSize
|
||||||
|
TxChannels
|
||||||
|
Type
|
||||||
|
TypeOfService
|
||||||
UDP6ZeroChecksumRx
|
UDP6ZeroChecksumRx
|
||||||
UDP6ZeroChecksumTx
|
UDP6ZeroChecksumTx
|
||||||
UDPChecksum
|
UDPChecksum
|
||||||
UDPSegmentationOffload
|
UDPSourcePort
|
||||||
UnicastFlood
|
UnicastFlood
|
||||||
Unmanaged
|
Unmanaged
|
||||||
UpDelaySec
|
UpDelaySec
|
||||||
|
UseAutonomousPrefix
|
||||||
UseBPDU
|
UseBPDU
|
||||||
UseDNS
|
UseDNS
|
||||||
UseDomains
|
UseDomains
|
||||||
|
UseForEncoding
|
||||||
UseHostname
|
UseHostname
|
||||||
UseMTU
|
UseMTU
|
||||||
UseNTP
|
UseNTP
|
||||||
|
UseOnLinkPrefix
|
||||||
UseRoutes
|
UseRoutes
|
||||||
|
UseSIP
|
||||||
UseTimezone
|
UseTimezone
|
||||||
|
User
|
||||||
|
UserClass
|
||||||
VLAN
|
VLAN
|
||||||
VLANFiltering
|
VLANFiltering
|
||||||
VLANId
|
VLANId
|
||||||
|
VNI
|
||||||
VNetHeader
|
VNetHeader
|
||||||
VRF
|
VRF
|
||||||
VXLAN
|
VXLAN
|
||||||
|
ValidLifetimeSec
|
||||||
VendorClassIdentifier
|
VendorClassIdentifier
|
||||||
Virtualization
|
Virtualization
|
||||||
|
WLANInterfaceType
|
||||||
WakeOnLan
|
WakeOnLan
|
||||||
|
Xfrm
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
Boot
|
Boot
|
||||||
|
Ephemeral
|
||||||
ProcessTwo
|
ProcessTwo
|
||||||
Parameters
|
Parameters
|
||||||
Environment
|
Environment
|
||||||
@ -6,15 +7,25 @@ User
|
|||||||
WorkingDirectory
|
WorkingDirectory
|
||||||
PivotRoot
|
PivotRoot
|
||||||
Capability
|
Capability
|
||||||
|
NoNewPrivileges
|
||||||
KillSignal
|
KillSignal
|
||||||
Personality
|
Personality
|
||||||
MachineID
|
MachineID
|
||||||
PrivateUsers
|
PrivateUsers
|
||||||
NotifyReady
|
NotifyReady
|
||||||
|
SystemCallFilter
|
||||||
|
LimitCPU
|
||||||
|
OOMScoreAdjust
|
||||||
|
CPUAffinity
|
||||||
|
Hostname
|
||||||
|
ResolvConf
|
||||||
|
Timezone
|
||||||
|
LinkJournal
|
||||||
ReadOnly
|
ReadOnly
|
||||||
Volatile
|
Volatile
|
||||||
Bind
|
Bind
|
||||||
TemporaryFileSystem
|
TemporaryFileSystem
|
||||||
|
Inaccessible
|
||||||
Overlay
|
Overlay
|
||||||
PrivateUsersChown
|
PrivateUsersChown
|
||||||
Private
|
Private
|
||||||
|
|||||||
61
systemd.el
61
systemd.el
@ -1,9 +1,9 @@
|
|||||||
;;; systemd.el --- Major mode for editing systemd units -*- lexical-binding: t -*-
|
;;; systemd.el --- Major mode for editing systemd units -*- lexical-binding: t -*-
|
||||||
|
|
||||||
;; Copyright (C) 2014-2017 Mark Oteiza <mvoteiza@udel.edu>
|
;; Copyright (C) 2014-2023 Mark Oteiza <mvoteiza@udel.edu>
|
||||||
|
|
||||||
;; Author: Mark Oteiza <mvoteiza@udel.edu>
|
;; Author: Mark Oteiza <mvoteiza@udel.edu>
|
||||||
;; Version: 1.6
|
;; Version: 1.6.1
|
||||||
;; Package-Requires: ((emacs "24.4"))
|
;; Package-Requires: ((emacs "24.4"))
|
||||||
;; Keywords: tools, unix
|
;; Keywords: tools, unix
|
||||||
|
|
||||||
@ -33,7 +33,8 @@
|
|||||||
;; network configuration. Both a completer for
|
;; network configuration. Both a completer for
|
||||||
;; `completion-at-point-functions' and a company backend are provided.
|
;; `completion-at-point-functions' and a company backend are provided.
|
||||||
;; The latter can be enabled by adding `company-mode' to
|
;; The latter can be enabled by adding `company-mode' to
|
||||||
;; `systemd-mode-hook'.
|
;; `systemd-mode-hook' and adding `systemd-company-backend' to
|
||||||
|
;; `company-backends'.
|
||||||
|
|
||||||
;;; Code:
|
;;; Code:
|
||||||
|
|
||||||
@ -49,7 +50,7 @@
|
|||||||
|
|
||||||
(defgroup systemd ()
|
(defgroup systemd ()
|
||||||
"Major mode for editing systemd units."
|
"Major mode for editing systemd units."
|
||||||
:link '(url-link "http://www.freedesktop.org/wiki/Software/systemd/")
|
:link '(url-link "https://www.freedesktop.org/wiki/Software/systemd/")
|
||||||
:group 'tools)
|
:group 'tools)
|
||||||
|
|
||||||
(defcustom systemd-browse-url-function 'browse-url
|
(defcustom systemd-browse-url-function 'browse-url
|
||||||
@ -81,7 +82,7 @@
|
|||||||
|
|
||||||
(defconst systemd-unit-sections
|
(defconst systemd-unit-sections
|
||||||
'("Unit" "Install" "Service")
|
'("Unit" "Install" "Service")
|
||||||
"Configuration sections for systemd 225.")
|
"Configuration sections for systemd 244.")
|
||||||
|
|
||||||
(defconst systemd-unit-directives
|
(defconst systemd-unit-directives
|
||||||
(eval-when-compile
|
(eval-when-compile
|
||||||
@ -94,10 +95,13 @@
|
|||||||
"Configuration directives for systemd.")
|
"Configuration directives for systemd.")
|
||||||
|
|
||||||
(defconst systemd-network-sections
|
(defconst systemd-network-sections
|
||||||
'("Match" "Link" "NetDev" "VLAN" "MACVLAN" "MACVTAP" "IPVLAN" "VXLAN"
|
'("Match" "Link" "NetDev" "VLAN" "MACVLAN" "MACVTAP" "IPVLAN" "IPVTAP" "VXLAN"
|
||||||
|
"GENEVE" "L2TP" "L2TPsession" "MACsec" "FooOverUDP"
|
||||||
"Tunnel" "Peer" "Tun" "Tap" "Bond" "Network" "Address" "Route" "DHCP"
|
"Tunnel" "Peer" "Tun" "Tap" "Bond" "Network" "Address" "Route" "DHCP"
|
||||||
"Bridge" "BridgeFDB")
|
"Neighbor" "IPv6AddressLabel" "RoutingPolicyRule" "NextHop" "DHCPv4"
|
||||||
"Network configuration sections for systemd 225.")
|
"DHCPv6" "IPv6AcceptRA" "DHCPServer" "IPv6Prefix" "CAN"
|
||||||
|
"Bridge" "BridgeFDB" "BridgeVLAN" "VXCAN" "WireGuard" "WireGuardPeer")
|
||||||
|
"Network configuration sections for systemd 244 (not exhaustive).")
|
||||||
|
|
||||||
(defconst systemd-network-directives
|
(defconst systemd-network-directives
|
||||||
(eval-when-compile
|
(eval-when-compile
|
||||||
@ -111,7 +115,7 @@
|
|||||||
|
|
||||||
(defconst systemd-nspawn-sections
|
(defconst systemd-nspawn-sections
|
||||||
'("Exec" "Files" "Network")
|
'("Exec" "Files" "Network")
|
||||||
"Namespace container configuration sections for systemd 232.")
|
"Namespace container configuration sections for systemd 244.")
|
||||||
|
|
||||||
(defconst systemd-nspawn-directives
|
(defconst systemd-nspawn-directives
|
||||||
(eval-when-compile
|
(eval-when-compile
|
||||||
@ -125,28 +129,25 @@
|
|||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defconst systemd-autoload-regexp
|
(defconst systemd-autoload-regexp
|
||||||
(eval-when-compile
|
(rx (+? (any "a-zA-Z0-9-_.@\\")) "."
|
||||||
(rx (+? (any "a-zA-Z0-9-_.@\\")) "."
|
(or "automount" "busname" "mount" "service" "slice"
|
||||||
(or "automount" "busname" "mount" "service" "slice"
|
"socket" "swap" "target" "timer" "link" "netdev" "network")
|
||||||
"socket" "swap" "target" "timer" "link" "netdev" "network")
|
string-end)
|
||||||
string-end))
|
|
||||||
"Regexp for file buffers in which to autoload `systemd-mode'.")
|
"Regexp for file buffers in which to autoload `systemd-mode'.")
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defconst systemd-tempfn-autoload-regexp
|
(defconst systemd-tempfn-autoload-regexp
|
||||||
(eval-when-compile
|
(rx ".#"
|
||||||
(rx ".#"
|
(or (and (+? (any "a-zA-Z0-9-_.@\\")) "."
|
||||||
(or (and (+? (any "a-zA-Z0-9-_.@\\")) "."
|
(or "automount" "busname" "mount" "service" "slice"
|
||||||
(or "automount" "busname" "mount" "service" "slice"
|
"socket" "swap" "target" "timer" "link" "netdev" "network"))
|
||||||
"socket" "swap" "target" "timer" "link" "netdev" "network"))
|
"override.conf")
|
||||||
"override.conf")
|
(= 16 (char hex-digit)) string-end)
|
||||||
(= 16 (char hex-digit)) string-end))
|
|
||||||
"Regexp for temp file buffers in which to autoload `systemd-mode'.")
|
"Regexp for temp file buffers in which to autoload `systemd-mode'.")
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defconst systemd-dropin-autoload-regexp
|
(defconst systemd-dropin-autoload-regexp
|
||||||
(eval-when-compile
|
(rx "/systemd/" (+? anything) ".d/" (+? (not (any ?/))) ".conf" string-end)
|
||||||
(rx "/systemd/" (+? anything) ".d/" (+? (not (any ?/))) ".conf" string-end))
|
|
||||||
"Regexp for dropin config file buffers in which to autoload `systemd-mode'.")
|
"Regexp for dropin config file buffers in which to autoload `systemd-mode'.")
|
||||||
|
|
||||||
(defun systemd-get-value (start)
|
(defun systemd-get-value (start)
|
||||||
@ -211,13 +212,12 @@ file, defaulting to the link under point, if any."
|
|||||||
|
|
||||||
(defun systemd-file-network-p (filename)
|
(defun systemd-file-network-p (filename)
|
||||||
"Return non-nil if FILENAME has a network-type extension, otherwise nil."
|
"Return non-nil if FILENAME has a network-type extension, otherwise nil."
|
||||||
(string-match-p (eval-when-compile
|
(string-match-p (rx "." (or "link" "netdev" "network") string-end)
|
||||||
(rx "." (or "link" "netdev" "network") string-end))
|
|
||||||
filename))
|
filename))
|
||||||
|
|
||||||
(defun systemd-file-nspawn-p (filename)
|
(defun systemd-file-nspawn-p (filename)
|
||||||
"Return non-nil if FILENAME has an nspawn extension, otherwise nil."
|
"Return non-nil if FILENAME has an nspawn extension, otherwise nil."
|
||||||
(string-match-p (eval-when-compile (rx ".nspawn" string-end)) filename))
|
(string-match-p (rx ".nspawn" string-end) filename))
|
||||||
|
|
||||||
(defun systemd-completion-table (&rest _ignore)
|
(defun systemd-completion-table (&rest _ignore)
|
||||||
"Return a list of completion candidates."
|
"Return a list of completion candidates."
|
||||||
@ -237,7 +237,7 @@ file, defaulting to the link under point, if any."
|
|||||||
(or (cdr bounds) (point))
|
(or (cdr bounds) (point))
|
||||||
(completion-table-dynamic #'systemd-completion-table))))
|
(completion-table-dynamic #'systemd-completion-table))))
|
||||||
|
|
||||||
(defun systemd-company-backend (command &optional arg &rest ignored)
|
(defun systemd-company-backend (command &optional arg &rest _ignored)
|
||||||
"Backend for `company-mode' in `systemd-mode' buffers."
|
"Backend for `company-mode' in `systemd-mode' buffers."
|
||||||
(interactive (list 'interactive))
|
(interactive (list 'interactive))
|
||||||
(pcase command
|
(pcase command
|
||||||
@ -319,7 +319,7 @@ See `font-lock-keywords' and (info \"(elisp) Search-based Fontification\")."
|
|||||||
(set-match-data res)))))
|
(set-match-data res)))))
|
||||||
|
|
||||||
(defconst systemd-font-lock-keywords-1
|
(defconst systemd-font-lock-keywords-1
|
||||||
`((systemd-section-matcher 1 'font-lock-type-face)
|
'((systemd-section-matcher 1 'font-lock-type-face)
|
||||||
(systemd-key-matcher 1 'font-lock-keyword-face))
|
(systemd-key-matcher 1 'font-lock-keyword-face))
|
||||||
"Minimal expressions to highlight in `systemd-mode'.")
|
"Minimal expressions to highlight in `systemd-mode'.")
|
||||||
|
|
||||||
@ -337,7 +337,7 @@ See `font-lock-keywords' and (info \"(elisp) Search-based Fontification\")."
|
|||||||
("\\$[A-Z_]+\\>"
|
("\\$[A-Z_]+\\>"
|
||||||
(systemd-value-extend-region) nil (0 'font-lock-variable-name-face))
|
(systemd-value-extend-region) nil (0 'font-lock-variable-name-face))
|
||||||
;; specifiers
|
;; specifiers
|
||||||
("%[nNpPiIfcrRtuUhsmbHv%]"
|
("%[abBCEfgGhHiIjJlLmnNopPrRsStTuUvVw%]"
|
||||||
(systemd-value-extend-region) nil (0 'font-lock-constant-face))))
|
(systemd-value-extend-region) nil (0 'font-lock-constant-face))))
|
||||||
"Extended expressions to highlight in `systemd-mode'.")
|
"Extended expressions to highlight in `systemd-mode'.")
|
||||||
|
|
||||||
@ -396,7 +396,7 @@ See systemd.unit(5) for details on unit file syntax.")
|
|||||||
;;;###autoload
|
;;;###autoload
|
||||||
(define-derived-mode systemd-mode conf-mode "Systemd"
|
(define-derived-mode systemd-mode conf-mode "Systemd"
|
||||||
"Major mode for editing systemd unit files.
|
"Major mode for editing systemd unit files.
|
||||||
See http://www.freedesktop.org/wiki/Software/systemd/ for more
|
See https://www.freedesktop.org/wiki/Software/systemd/ for more
|
||||||
information about systemd.
|
information about systemd.
|
||||||
|
|
||||||
In addition to any hooks its parent mode might have run, this
|
In addition to any hooks its parent mode might have run, this
|
||||||
@ -407,7 +407,6 @@ Key bindings:
|
|||||||
(set-keymap-parent systemd-mode-map nil)
|
(set-keymap-parent systemd-mode-map nil)
|
||||||
(conf-mode-initialize systemd-comment-start)
|
(conf-mode-initialize systemd-comment-start)
|
||||||
(setq-local auto-fill-inhibit-regexp "^[ \t]*?[^;#]")
|
(setq-local auto-fill-inhibit-regexp "^[ \t]*?[^;#]")
|
||||||
(add-hook 'company-backends #'systemd-company-backend)
|
|
||||||
(add-hook 'completion-at-point-functions #'systemd-complete-at-point nil t)
|
(add-hook 'completion-at-point-functions #'systemd-complete-at-point nil t)
|
||||||
(add-hook 'font-lock-extend-region-functions
|
(add-hook 'font-lock-extend-region-functions
|
||||||
'systemd-font-lock-extend-region nil t)
|
'systemd-font-lock-extend-region nil t)
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
;;; systemd-tests.el --- Tests for systemd.el -*- lexical-binding: t -*-
|
;;; systemd-tests.el --- Tests for systemd.el -*- lexical-binding: t -*-
|
||||||
|
|
||||||
;; Copyright (C) 2016-2017 Mark Oteiza <mvoteiza@udel.edu>
|
;; Copyright (C) 2016-2020 Mark Oteiza <mvoteiza@udel.edu>
|
||||||
|
|
||||||
;; Author: Mark Oteiza <mvoteiza@udel.edu>
|
;; Author: Mark Oteiza <mvoteiza@udel.edu>
|
||||||
|
|
||||||
|
|||||||
@ -3,12 +3,15 @@ AccuracySec
|
|||||||
After
|
After
|
||||||
Alias
|
Alias
|
||||||
AllowIsolate
|
AllowIsolate
|
||||||
|
AllowedCPUs
|
||||||
|
AllowedMemoryNodes
|
||||||
Also
|
Also
|
||||||
AmbientCapabilities
|
AmbientCapabilities
|
||||||
AppArmorProfile
|
AppArmorProfile
|
||||||
AssertACPower
|
AssertACPower
|
||||||
AssertArchitecture
|
AssertArchitecture
|
||||||
AssertCapability
|
AssertCapability
|
||||||
|
AssertControlGroupController
|
||||||
AssertDirectoryNotEmpty
|
AssertDirectoryNotEmpty
|
||||||
AssertFileIsExecutable
|
AssertFileIsExecutable
|
||||||
AssertFileNotEmpty
|
AssertFileNotEmpty
|
||||||
@ -16,6 +19,7 @@ AssertFirstBoot
|
|||||||
AssertGroup
|
AssertGroup
|
||||||
AssertHost
|
AssertHost
|
||||||
AssertKernelCommandLine
|
AssertKernelCommandLine
|
||||||
|
AssertKernelVersion
|
||||||
AssertNeedsUpdate
|
AssertNeedsUpdate
|
||||||
AssertPathExists
|
AssertPathExists
|
||||||
AssertPathExistsGlob
|
AssertPathExistsGlob
|
||||||
@ -43,15 +47,21 @@ BusName
|
|||||||
CPUAccounting
|
CPUAccounting
|
||||||
CPUAffinity
|
CPUAffinity
|
||||||
CPUQuota
|
CPUQuota
|
||||||
|
CPUQuotaPeriodSec
|
||||||
CPUSchedulingPolicy
|
CPUSchedulingPolicy
|
||||||
CPUSchedulingPriority
|
CPUSchedulingPriority
|
||||||
CPUSchedulingResetOnFork
|
CPUSchedulingResetOnFork
|
||||||
CPUShares
|
CPUShares
|
||||||
CPUWeight
|
CPUWeight
|
||||||
|
CacheDirectory
|
||||||
|
CacheDirectoryMode
|
||||||
CapabilityBoundingSet
|
CapabilityBoundingSet
|
||||||
|
CollectMode
|
||||||
ConditionACPower
|
ConditionACPower
|
||||||
ConditionArchitecture
|
ConditionArchitecture
|
||||||
|
ConditionCPUs
|
||||||
ConditionCapability
|
ConditionCapability
|
||||||
|
ConditionControlGroupController
|
||||||
ConditionDirectoryNotEmpty
|
ConditionDirectoryNotEmpty
|
||||||
ConditionFileIsExecutable
|
ConditionFileIsExecutable
|
||||||
ConditionFileNotEmpty
|
ConditionFileNotEmpty
|
||||||
@ -59,6 +69,8 @@ ConditionFirstBoot
|
|||||||
ConditionGroup
|
ConditionGroup
|
||||||
ConditionHost
|
ConditionHost
|
||||||
ConditionKernelCommandLine
|
ConditionKernelCommandLine
|
||||||
|
ConditionKernelVersion
|
||||||
|
ConditionMemory
|
||||||
ConditionNeedsUpdate
|
ConditionNeedsUpdate
|
||||||
ConditionPathExists
|
ConditionPathExists
|
||||||
ConditionPathExistsGlob
|
ConditionPathExistsGlob
|
||||||
@ -69,6 +81,8 @@ ConditionPathIsSymbolicLink
|
|||||||
ConditionSecurity
|
ConditionSecurity
|
||||||
ConditionUser
|
ConditionUser
|
||||||
ConditionVirtualization
|
ConditionVirtualization
|
||||||
|
ConfigurationDirectory
|
||||||
|
ConfigurationDirectoryMode
|
||||||
Conflicts
|
Conflicts
|
||||||
DefaultDependencies
|
DefaultDependencies
|
||||||
DefaultInstance
|
DefaultInstance
|
||||||
@ -79,10 +93,12 @@ DeviceAllow
|
|||||||
DevicePolicy
|
DevicePolicy
|
||||||
DirectoryMode
|
DirectoryMode
|
||||||
DirectoryNotEmpty
|
DirectoryNotEmpty
|
||||||
|
DisableControllers
|
||||||
Documentation
|
Documentation
|
||||||
DynamicUser
|
DynamicUser
|
||||||
Environment
|
Environment
|
||||||
EnvironmentFile
|
EnvironmentFile
|
||||||
|
ExecCondition
|
||||||
ExecReload
|
ExecReload
|
||||||
ExecStart
|
ExecStart
|
||||||
ExecStartPost
|
ExecStartPost
|
||||||
@ -91,13 +107,16 @@ ExecStop
|
|||||||
ExecStopPost
|
ExecStopPost
|
||||||
ExecStopPre
|
ExecStopPre
|
||||||
FailureAction
|
FailureAction
|
||||||
|
FailureActionExitStatus
|
||||||
FileDescriptorName
|
FileDescriptorName
|
||||||
FileDescriptorStoreMax
|
FileDescriptorStoreMax
|
||||||
|
FinalKillSignal
|
||||||
ForceUnmount
|
ForceUnmount
|
||||||
FreeBind
|
FreeBind
|
||||||
Group
|
Group
|
||||||
GuessMainPID
|
GuessMainPID
|
||||||
IOAccounting
|
IOAccounting
|
||||||
|
IODeviceLatencyTargetSec
|
||||||
IODeviceWeight
|
IODeviceWeight
|
||||||
IOReadBandwidthMax
|
IOReadBandwidthMax
|
||||||
IOReadIOPSMax
|
IOReadIOPSMax
|
||||||
@ -106,6 +125,11 @@ IOSchedulingPriority
|
|||||||
IOWeight
|
IOWeight
|
||||||
IOWriteBandwidthMax
|
IOWriteBandwidthMax
|
||||||
IOWriteIOPSMax
|
IOWriteIOPSMax
|
||||||
|
IPAccounting
|
||||||
|
IPAddressAllow
|
||||||
|
IPAddressDeny
|
||||||
|
IPEgressFilterPath
|
||||||
|
IPIngressFilterPath
|
||||||
IPTOS
|
IPTOS
|
||||||
IPTTL
|
IPTTL
|
||||||
IgnoreOnIsolate
|
IgnoreOnIsolate
|
||||||
@ -120,6 +144,7 @@ KeepAlive
|
|||||||
KeepAliveIntervalSec
|
KeepAliveIntervalSec
|
||||||
KeepAliveProbes
|
KeepAliveProbes
|
||||||
KeepAliveTimeSec
|
KeepAliveTimeSec
|
||||||
|
KeyringMode
|
||||||
KillMode
|
KillMode
|
||||||
KillSignal
|
KillSignal
|
||||||
LazyUnmount
|
LazyUnmount
|
||||||
@ -147,6 +172,13 @@ ListenSequentialPacket
|
|||||||
ListenSpecial
|
ListenSpecial
|
||||||
ListenStream
|
ListenStream
|
||||||
ListenUSBFunction
|
ListenUSBFunction
|
||||||
|
LockPersonality
|
||||||
|
LogExtraFields
|
||||||
|
LogLevelMax
|
||||||
|
LogRateLimitBurst
|
||||||
|
LogRateLimitIntervalSec
|
||||||
|
LogsDirectory
|
||||||
|
LogsDirectoryMode
|
||||||
MakeDirectory
|
MakeDirectory
|
||||||
Mark
|
Mark
|
||||||
MaxConnections
|
MaxConnections
|
||||||
@ -157,23 +189,30 @@ MemoryHigh
|
|||||||
MemoryLimit
|
MemoryLimit
|
||||||
MemoryLow
|
MemoryLow
|
||||||
MemoryMax
|
MemoryMax
|
||||||
|
MemoryMin
|
||||||
MemorySwapMax
|
MemorySwapMax
|
||||||
MessageQueueMaxMessages
|
MessageQueueMaxMessages
|
||||||
MessageQueueMessageSize
|
MessageQueueMessageSize
|
||||||
MountAPIVFS
|
MountAPIVFS
|
||||||
MountFlags
|
MountFlags
|
||||||
|
NUMAMask
|
||||||
|
NUMAPolicy
|
||||||
|
NetworkNamespacePath
|
||||||
Nice
|
Nice
|
||||||
NoDelay
|
NoDelay
|
||||||
NoNewPrivileges
|
NoNewPrivileges
|
||||||
NonBlocking
|
NonBlocking
|
||||||
NotifyAccess
|
NotifyAccess
|
||||||
|
OOMPolicy
|
||||||
OOMScoreAdjust
|
OOMScoreAdjust
|
||||||
OnActiveSec
|
OnActiveSec
|
||||||
OnBootSec
|
OnBootSec
|
||||||
OnCalendar
|
OnCalendar
|
||||||
|
OnClockChange
|
||||||
OnFailure
|
OnFailure
|
||||||
OnFailureJobMode
|
OnFailureJobMode
|
||||||
OnStartupSec
|
OnStartupSec
|
||||||
|
OnTimezoneChange
|
||||||
OnUnitActiveSec
|
OnUnitActiveSec
|
||||||
OnUnitInactiveSec
|
OnUnitInactiveSec
|
||||||
Options
|
Options
|
||||||
@ -187,18 +226,20 @@ PathChanged
|
|||||||
PathExists
|
PathExists
|
||||||
PathExistsGlob
|
PathExistsGlob
|
||||||
PathModified
|
PathModified
|
||||||
PermissionsStartOnly
|
|
||||||
Persistent
|
Persistent
|
||||||
Personality
|
Personality
|
||||||
PipeSize
|
PipeSize
|
||||||
Priority
|
Priority
|
||||||
PrivateDevices
|
PrivateDevices
|
||||||
|
PrivateMounts
|
||||||
PrivateNetwork
|
PrivateNetwork
|
||||||
PrivateTmp
|
PrivateTmp
|
||||||
PrivateUsers
|
PrivateUsers
|
||||||
PropagatesReloadTo
|
PropagatesReloadTo
|
||||||
ProtectControlGroups
|
ProtectControlGroups
|
||||||
ProtectHome
|
ProtectHome
|
||||||
|
ProtectHostname
|
||||||
|
ProtectKernelLogs
|
||||||
ProtectKernelModules
|
ProtectKernelModules
|
||||||
ProtectKernelTunables
|
ProtectKernelTunables
|
||||||
ProtectSystem
|
ProtectSystem
|
||||||
@ -220,17 +261,20 @@ RequiresMountsFor
|
|||||||
Requisite
|
Requisite
|
||||||
Restart
|
Restart
|
||||||
RestartForceExitStatus
|
RestartForceExitStatus
|
||||||
|
RestartKillSignal
|
||||||
RestartPreventExitStatus
|
RestartPreventExitStatus
|
||||||
RestartSec
|
RestartSec
|
||||||
RestrictAddressFamilies
|
RestrictAddressFamilies
|
||||||
RestrictNamespaces
|
RestrictNamespaces
|
||||||
RestrictRealtime
|
RestrictRealtime
|
||||||
|
RestrictSUIDSGID
|
||||||
ReusePort
|
ReusePort
|
||||||
RootDirectory
|
RootDirectory
|
||||||
RootDirectoryStartOnly
|
RootDirectoryStartOnly
|
||||||
RootImage
|
RootImage
|
||||||
RuntimeDirectory
|
RuntimeDirectory
|
||||||
RuntimeDirectoryMode
|
RuntimeDirectoryMode
|
||||||
|
RuntimeDirectoryPreserve
|
||||||
RuntimeMaxSec
|
RuntimeMaxSec
|
||||||
SELinuxContext
|
SELinuxContext
|
||||||
SELinuxContextFromNet
|
SELinuxContextFromNet
|
||||||
@ -253,6 +297,8 @@ Sockets
|
|||||||
SourcePath
|
SourcePath
|
||||||
StandardError
|
StandardError
|
||||||
StandardInput
|
StandardInput
|
||||||
|
StandardInputData
|
||||||
|
StandardInputText
|
||||||
StandardOutput
|
StandardOutput
|
||||||
StartLimitAction
|
StartLimitAction
|
||||||
StartLimitBurst
|
StartLimitBurst
|
||||||
@ -261,7 +307,11 @@ StartupBlockIOWeight
|
|||||||
StartupCPUShares
|
StartupCPUShares
|
||||||
StartupCPUWeight
|
StartupCPUWeight
|
||||||
StartupIOWeight
|
StartupIOWeight
|
||||||
|
StateDirectory
|
||||||
|
StateDirectoryMode
|
||||||
StopWhenUnneeded
|
StopWhenUnneeded
|
||||||
|
SuccessAction
|
||||||
|
SuccessActionExitStatus
|
||||||
SuccessExitStatus
|
SuccessExitStatus
|
||||||
SupplementaryGroups
|
SupplementaryGroups
|
||||||
Symlinks
|
Symlinks
|
||||||
@ -279,6 +329,9 @@ TTYVHangup
|
|||||||
TTYVTDisallocate
|
TTYVTDisallocate
|
||||||
TasksAccounting
|
TasksAccounting
|
||||||
TasksMax
|
TasksMax
|
||||||
|
TemporaryFileSystem
|
||||||
|
TimeoutAbortSec
|
||||||
|
TimeoutCleanSec
|
||||||
TimeoutIdleSec
|
TimeoutIdleSec
|
||||||
TimeoutSec
|
TimeoutSec
|
||||||
TimeoutStartSec
|
TimeoutStartSec
|
||||||
@ -292,6 +345,7 @@ UMask
|
|||||||
USBFunctionDescriptors
|
USBFunctionDescriptors
|
||||||
USBFunctionStrings
|
USBFunctionStrings
|
||||||
Unit
|
Unit
|
||||||
|
UnsetEnvironment
|
||||||
User
|
User
|
||||||
UtmpIdentifier
|
UtmpIdentifier
|
||||||
UtmpMode
|
UtmpMode
|
||||||
@ -299,6 +353,7 @@ WakeSystem
|
|||||||
WantedBy
|
WantedBy
|
||||||
Wants
|
Wants
|
||||||
WatchdogSec
|
WatchdogSec
|
||||||
|
WatchdogSignal
|
||||||
What
|
What
|
||||||
Where
|
Where
|
||||||
WorkingDirectory
|
WorkingDirectory
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user