Warning, /frameworks/syntax-highlighting/data/syntax/systemd-unit.xml is written in an unsupported language. File is not indexed.

0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!-- Created for systemd version 255. -->
0003 <!DOCTYPE language [
0004 <!ENTITY alp "A-Za-z">
0005 <!ENTITY aln "&alp;0-9">
0006 <!ENTITY end "(?:\s+|$)">
0007 <!ENTITY escaped "\\x[0-9a-f]{2}">
0008 <!ENTITY hex "0-9A-Fa-f">
0009 <!ENTITY specifier "&#x0025;[&#x0025;ABCEGHIJLMNPSTUVWYabdfghijlmnopqstuvwy]">
0010 <!ENTITY name "(?:[-\w]|&specifier;)+@?(?:[-.@\:\w]|&escaped;|&specifier;)*">
0011 <!ENTITY extension "automount|device|mount|path|service|slice|socket|swap|target|timer">
0012 <!ENTITY unit "&name;\.(?:&extension;)&end;">
0013 <!ENTITY tsp_year "years?|y">
0014 <!ENTITY tsp_month "months?|M">
0015 <!ENTITY tsp_week "weeks?|w">
0016 <!ENTITY tsp_day "days?|d">
0017 <!ENTITY tsp_hour "hours?|hr?">
0018 <!ENTITY tsp_min "minutes?|min|m">
0019 <!ENTITY tsp_sec "seconds?|sec|s">
0020 <!ENTITY tsp_msec "msec|ms">
0021 <!-- Accept both UTF-8 "Micro Sign" and UTF-8 "Greek Small Letter Mu" for micro seconds. -->
0022 <!ENTITY tsp_usec "usec|[u&#181;&#956;]s">
0023 <!ENTITY tsp_unit "&tsp_year;|&tsp_month;|&tsp_week;|&tsp_day;|&tsp_hour;|&tsp_sec;|&tsp_msec;|&tsp_usec;|&tsp_min;">
0024 <!ENTITY tsp "\d+(?:\.\d+)?\h*(?=(&tsp_unit;)?)">
0025 ]>
0026 <language author="Andreas Gratzer" version="15" extensions="*.automount;*.device;*.mount;*.path;*.service;*.slice;*.socket;*.swap;*.target;*.timer" kateversion="5.0" license="MIT" mimetype="text/x-systemd-unit" name="systemd unit" section="Configuration">
0027   <highlighting>
0028     <list name="boolean">
0029       <!-- 0, 1, t, f, y, n are also valid, but handled using AnyChar. -->
0030       <item>true</item>
0031       <item>yes</item>
0032       <item>on</item>
0033       <item>false</item>
0034       <item>no</item>
0035       <item>off</item>
0036     </list>
0037     <list name="action">
0038       <item>soft-reboot-force</item>
0039       <item>soft-reboot</item>
0040       <item>reboot-immediate</item>
0041       <item>reboot-force</item>
0042       <item>reboot</item>
0043       <item>poweroff-immediate</item>
0044       <item>poweroff-force</item>
0045       <item>poweroff</item>
0046       <item>none</item>
0047       <item>kexec-force</item>
0048       <item>kexec</item>
0049       <item>halt-immediate</item>
0050       <item>halt-force</item>
0051       <item>halt</item>
0052       <item>exit-force</item>
0053       <item>exit</item>
0054     </list>
0055     <list name="address family">
0056       <item>AF_XDP</item>
0057       <item>AF_X25</item>
0058       <item>AF_WANPIPE</item>
0059       <item>AF_VSOCK</item>
0060       <item>AF_UNSPEC</item>
0061       <item>AF_UNIX</item>
0062       <item>AF_TIPC</item>
0063       <item>AF_SNA</item>
0064       <item>AF_SMC</item>
0065       <item>AF_SECURITY</item>
0066       <item>AF_RXRPC</item>
0067       <item>AF_ROUTE</item>
0068       <item>AF_ROSE</item>
0069       <item>AF_RDS</item>
0070       <item>AF_QIPCRTR</item>
0071       <item>AF_PPPOX</item>
0072       <item>AF_PHONET</item>
0073       <item>AF_PACKET</item>
0074       <item>AF_NFC</item>
0075       <item>AF_NETROM</item>
0076       <item>AF_NETLINK</item>
0077       <item>AF_NETBEUI</item>
0078       <item>AF_MPLS</item>
0079       <item>AF_MCTP</item>
0080       <item>AF_MAX</item>
0081       <item>AF_LOCAL</item>
0082       <item>AF_LLC</item>
0083       <item>AF_KEY</item>
0084       <item>AF_KCM</item>
0085       <item>AF_IUCV</item>
0086       <item>AF_ISDN</item>
0087       <item>AF_IRDA</item>
0088       <item>AF_IPX</item>
0089       <item>AF_INET6</item>
0090       <item>AF_INET</item>
0091       <item>AF_IEEE802154</item>
0092       <item>AF_IB</item>
0093       <item>AF_FILE</item>
0094       <item>AF_ECONET</item>
0095       <item>AF_DECnet</item>
0096       <item>AF_CAN</item>
0097       <item>AF_CAIF</item>
0098       <item>AF_BRIDGE</item>
0099       <item>AF_BLUETOOTH</item>
0100       <item>AF_AX25</item>
0101       <item>AF_ATMSVC</item>
0102       <item>AF_ATMPVC</item>
0103       <item>AF_ASH</item>
0104       <item>AF_APPLETALK</item>
0105       <item>AF_ALG</item>
0106     </list>
0107     <list name="architecture">
0108       <item>x86-64</item>
0109       <item>x86</item>
0110       <item>tilegx</item>
0111       <item>sparc64</item>
0112       <item>sparc</item>
0113       <item>sh64</item>
0114       <item>sh</item>
0115       <item>s390x</item>
0116       <item>s390</item>
0117       <item>ppc64-le</item>
0118       <item>ppc64</item>
0119       <item>ppc-le</item>
0120       <item>ppc</item>
0121       <item>parisc64</item>
0122       <item>parisc</item>
0123       <item>native</item>
0124       <item>mips64-le</item>
0125       <item>mips64</item>
0126       <item>mips-le</item>
0127       <item>mips</item>
0128       <item>m68k</item>
0129       <item>ia64</item>
0130       <item>cris</item>
0131       <item>arm64-be</item>
0132       <item>arm64</item>
0133       <item>arm-be</item>
0134       <item>arm</item>
0135       <item>arc-be</item>
0136       <item>arc</item>
0137       <item>alpha</item>
0138     </list>
0139     <list name="bpf program type">
0140       <item>sysctl</item>
0141       <item>sock_ops</item>
0142       <item>sock_create</item>
0143       <item>setsockopt</item>
0144       <item>sendmsg6</item>
0145       <item>sendmsg4</item>
0146       <item>recvmsg6</item>
0147       <item>recvmsg4</item>
0148       <item>post_bind6</item>
0149       <item>post_bind4</item>
0150       <item>ingress</item>
0151       <item>getsockopt</item>
0152       <item>egress</item>
0153       <item>device</item>
0154       <item>connect6</item>
0155       <item>connect4</item>
0156       <item>bind6</item>
0157       <item>bind4</item>
0158     </list>
0159     <list name="calendar">
0160       <item>yearly</item>
0161       <item>weekly</item>
0162       <item>semiannually</item>
0163       <item>quarterly</item>
0164       <item>monthly</item>
0165       <item>minutely</item>
0166       <item>hourly</item>
0167       <item>daily</item>
0168     </list>
0169     <list name="capability">
0170       <item>CAP_WAKE_ALARM</item>
0171       <item>CAP_SYS_TTY_CONFIG</item>
0172       <item>CAP_SYS_TIME</item>
0173       <item>CAP_SYS_RESOURCE</item>
0174       <item>CAP_SYS_RAWIO</item>
0175       <item>CAP_SYS_PTRACE</item>
0176       <item>CAP_SYS_PACCT</item>
0177       <item>CAP_SYS_NICE</item>
0178       <item>CAP_SYS_MODULE</item>
0179       <item>CAP_SYS_CHROOT</item>
0180       <item>CAP_SYS_BOOT</item>
0181       <item>CAP_SYS_ADMIN</item>
0182       <item>CAP_SYSLOG</item>
0183       <item>CAP_SETUID</item>
0184       <item>CAP_SETPCAP</item>
0185       <item>CAP_SETGID</item>
0186       <item>CAP_SETFCAP</item>
0187       <item>CAP_PERFMON</item>
0188       <item>CAP_NET_RAW</item>
0189       <item>CAP_NET_BROADCAST</item>
0190       <item>CAP_NET_BIND_SERVICE</item>
0191       <item>CAP_NET_ADMIN</item>
0192       <item>CAP_MKNOD</item>
0193       <item>CAP_MAC_OVERRIDE</item>
0194       <item>CAP_MAC_ADMIN</item>
0195       <item>CAP_LINUX_IMMUTABLE</item>
0196       <item>CAP_LEASE</item>
0197       <item>CAP_KILL</item>
0198       <item>CAP_IPC_OWNER</item>
0199       <item>CAP_IPC_LOCK</item>
0200       <item>CAP_FSETID</item>
0201       <item>CAP_FOWNER</item>
0202       <item>CAP_DAC_READ_SEARCH</item>
0203       <item>CAP_DAC_OVERRIDE</item>
0204       <item>CAP_CHOWN</item>
0205       <item>CAP_CHECKPOINT_RESTORE</item>
0206       <item>CAP_BPF</item>
0207       <item>CAP_BLOCK_SUSPEND</item>
0208       <item>CAP_AUDIT_WRITE</item>
0209       <item>CAP_AUDIT_READ</item>
0210       <item>CAP_AUDIT_CONTROL</item>
0211     </list>
0212     <list name="collect mode">
0213       <item>inactive-or-failed</item>
0214       <item>inactive</item>
0215       <item>failed</item>
0216     </list>
0217     <list name="controller">
0218       <item>pids</item>
0219       <item>memory</item>
0220       <item>io</item>
0221       <item>devices</item>
0222       <item>cpuset</item>
0223       <item>cpuacct</item>
0224       <item>cpu</item>
0225       <item>bpf-firewall</item>
0226       <item>bpf-devices</item>
0227       <item>blkio</item>
0228     </list>
0229     <list name="controller cg">
0230       <item>v2</item>
0231       <item>v1</item>
0232       <item>pids</item>
0233       <item>memory</item>
0234       <item>io</item>
0235       <item>cpu</item>
0236     </list>
0237     <list name="cpu feature">
0238       <item>xsave</item>
0239       <item>vme</item>
0240       <item>tsc</item>
0241       <item>syscall</item>
0242       <item>ssse3</item>
0243       <item>sse4_2</item>
0244       <item>sse4_1</item>
0245       <item>sse2</item>
0246       <item>sse</item>
0247       <item>sha_ni</item>
0248       <item>sep</item>
0249       <item>rdtscp</item>
0250       <item>rdseed</item>
0251       <item>rdrand</item>
0252       <item>pse36</item>
0253       <item>pse</item>
0254       <item>popcnt</item>
0255       <item>pni</item>
0256       <item>pge</item>
0257       <item>pclmul</item>
0258       <item>pat</item>
0259       <item>pae</item>
0260       <item>osxsave</item>
0261       <item>mtrr</item>
0262       <item>msr</item>
0263       <item>movbe</item>
0264       <item>monitor</item>
0265       <item>mmx</item>
0266       <item>mce</item>
0267       <item>mca</item>
0268       <item>lm</item>
0269       <item>lahf_lm</item>
0270       <item>ht</item>
0271       <item>fxsr</item>
0272       <item>fpu</item>
0273       <item>fma3</item>
0274       <item>f16c</item>
0275       <item>de</item>
0276       <item>cx8</item>
0277       <item>cx16</item>
0278       <item>constant_tsc</item>
0279       <item>cmov</item>
0280       <item>clflush</item>
0281       <item>bmi2</item>
0282       <item>bmi1</item>
0283       <item>avx2</item>
0284       <item>avx</item>
0285       <item>apic</item>
0286       <item>aes</item>
0287       <item>adx</item>
0288       <item>abm</item>
0289     </list>
0290     <list name="cpu scheduling policy">
0291       <item>rr</item>
0292       <item>other</item>
0293       <item>idle</item>
0294       <item>fifo</item>
0295       <item>batch</item>
0296     </list>
0297     <list name="device policy">
0298       <item>strict</item>
0299       <item>closed</item>
0300       <item>auto</item>
0301     </list>
0302     <list name="errno">
0303       <item>log</item>
0304       <item>kill</item>
0305       <item>EXFULL</item>
0306       <item>EXDEV</item>
0307       <item>EWOULDBLOCK</item>
0308       <item>EUSERS</item>
0309       <item>EUNATCH</item>
0310       <item>EUCLEAN</item>
0311       <item>ETXTBSY</item>
0312       <item>ETOOMANYREFS</item>
0313       <item>ETIMEDOUT</item>
0314       <item>ETIME</item>
0315       <item>ESTRPIPE</item>
0316       <item>ESTALE</item>
0317       <item>ESRCH</item>
0318       <item>ESPIPE</item>
0319       <item>ESOCKTNOSUPPORT</item>
0320       <item>ESHUTDOWN</item>
0321       <item>EROFS</item>
0322       <item>ERFKILL</item>
0323       <item>ERESTART</item>
0324       <item>EREMOTEIO</item>
0325       <item>EREMOTE</item>
0326       <item>EREMCHG</item>
0327       <item>ERANGE</item>
0328       <item>EPROTOTYPE</item>
0329       <item>EPROTONOSUPPORT</item>
0330       <item>EPROTO</item>
0331       <item>EPIPE</item>
0332       <item>EPFNOSUPPORT</item>
0333       <item>EPERM</item>
0334       <item>EOWNERDEAD</item>
0335       <item>EOVERFLOW</item>
0336       <item>EOPNOTSUPP</item>
0337       <item>ENXIO</item>
0338       <item>ENOTUNIQ</item>
0339       <item>ENOTTY</item>
0340       <item>ENOTSUP</item>
0341       <item>ENOTSOCK</item>
0342       <item>ENOTRECOVERABLE</item>
0343       <item>ENOTEMPTY</item>
0344       <item>ENOTDIR</item>
0345       <item>ENOTCONN</item>
0346       <item>ENOTBLK</item>
0347       <item>ENOSYS</item>
0348       <item>ENOSTR</item>
0349       <item>ENOSR</item>
0350       <item>ENOSPC</item>
0351       <item>ENOPROTOOPT</item>
0352       <item>ENOPKG</item>
0353       <item>ENONET</item>
0354       <item>ENOMSG</item>
0355       <item>ENOMEM</item>
0356       <item>ENOMEDIUM</item>
0357       <item>ENOLINK</item>
0358       <item>ENOLCK</item>
0359       <item>ENOKEY</item>
0360       <item>ENOEXEC</item>
0361       <item>ENOENT</item>
0362       <item>ENODEV</item>
0363       <item>ENODATA</item>
0364       <item>ENOBUFS</item>
0365       <item>ENOANO</item>
0366       <item>ENFILE</item>
0367       <item>ENETUNREACH</item>
0368       <item>ENETRESET</item>
0369       <item>ENETDOWN</item>
0370       <item>ENAMETOOLONG</item>
0371       <item>EMULTIHOP</item>
0372       <item>EMSGSIZE</item>
0373       <item>EMLINK</item>
0374       <item>EMFILE</item>
0375       <item>EMEDIUMTYPE</item>
0376       <item>ELOOP</item>
0377       <item>ELNRNG</item>
0378       <item>ELIBSCN</item>
0379       <item>ELIBMAX</item>
0380       <item>ELIBEXEC</item>
0381       <item>ELIBBAD</item>
0382       <item>ELIBACC</item>
0383       <item>EL3RST</item>
0384       <item>EL3HLT</item>
0385       <item>EL2NSYNC</item>
0386       <item>EL2HLT</item>
0387       <item>EKEYREVOKED</item>
0388       <item>EKEYREJECTED</item>
0389       <item>EKEYEXPIRED</item>
0390       <item>EISNAM</item>
0391       <item>EISDIR</item>
0392       <item>EISCONN</item>
0393       <item>EIO</item>
0394       <item>EINVAL</item>
0395       <item>EINTR</item>
0396       <item>EINPROGRESS</item>
0397       <item>EILSEQ</item>
0398       <item>EIDRM</item>
0399       <item>EHWPOISON</item>
0400       <item>EHOSTUNREACH</item>
0401       <item>EHOSTDOWN</item>
0402       <item>EFBIG</item>
0403       <item>EFAULT</item>
0404       <item>EEXIST</item>
0405       <item>EDQUOT</item>
0406       <item>EDOM</item>
0407       <item>EDESTADDRREQ</item>
0408       <item>EDEADLOCK</item>
0409       <item>EDEADLK</item>
0410       <item>ECONNRESET</item>
0411       <item>ECONNREFUSED</item>
0412       <item>ECONNABORTED</item>
0413       <item>ECOMM</item>
0414       <item>ECHRNG</item>
0415       <item>ECHILD</item>
0416       <item>ECANCELED</item>
0417       <item>EBUSY</item>
0418       <item>EBADSLT</item>
0419       <item>EBADRQC</item>
0420       <item>EBADR</item>
0421       <item>EBADMSG</item>
0422       <item>EBADFD</item>
0423       <item>EBADF</item>
0424       <item>EBADE</item>
0425       <item>EALREADY</item>
0426       <item>EAGAIN</item>
0427       <item>EAFNOSUPPORT</item>
0428       <item>EADDRNOTAVAIL</item>
0429       <item>EADDRINUSE</item>
0430       <item>EACCES</item>
0431     </list>
0432     <list name="exit status">
0433       <item>USER</item>
0434       <item>USAGE</item>
0435       <item>UNAVAILABLE</item>
0436       <item>TIMERSLACK</item>
0437       <item>TEMPFAIL</item>
0438       <item>SUCCESS</item>
0439       <item>STDOUT</item>
0440       <item>STDIN</item>
0441       <item>STDERR</item>
0442       <item>STATE_DIRECTORY</item>
0443       <item>SOFTWARE</item>
0444       <item>SMACK_PROCESS_LABEL</item>
0445       <item>SIGNAL_MASK</item>
0446       <item>SETSID</item>
0447       <item>SETSCHEDULER</item>
0448       <item>SELINUX_CONTEXT</item>
0449       <item>SECUREBITS</item>
0450       <item>SECCOMP</item>
0451       <item>RUNTIME_DIRECTORY</item>
0452       <item>PROTOCOL</item>
0453       <item>PERSONALITY</item>
0454       <item>PAM</item>
0455       <item>OSFILE</item>
0456       <item>OSERR</item>
0457       <item>OOM_ADJUST</item>
0458       <item>NUMA_POLICY</item>
0459       <item>NO_NEW_PRIVILEGES</item>
0460       <item>NOUSER</item>
0461       <item>NOTRUNNING</item>
0462       <item>NOTINSTALLED</item>
0463       <item>NOTIMPLEMENTED</item>
0464       <item>NOTCONFIGURED</item>
0465       <item>NOPERMISSION</item>
0466       <item>NOPERM</item>
0467       <item>NOINPUT</item>
0468       <item>NOHOST</item>
0469       <item>NICE</item>
0470       <item>NETWORK</item>
0471       <item>NAMESPACE</item>
0472       <item>MEMORY</item>
0473       <item>LOGS_DIRECTORY</item>
0474       <item>LIMITS</item>
0475       <item>KSM</item>
0476       <item>KEYRING</item>
0477       <item>IOPRIO</item>
0478       <item>IOERR</item>
0479       <item>INVALIDARGUMENT</item>
0480       <item>GROUP</item>
0481       <item>FDS</item>
0482       <item>FAILURE</item>
0483       <item>EXEC</item>
0484       <item>EXCEPTION</item>
0485       <item>DATAERR</item>
0486       <item>CREDENTIALS</item>
0487       <item>CPUAFFINITY</item>
0488       <item>CONFIRM</item>
0489       <item>CONFIGURATION_DIRECTORY</item>
0490       <item>CONFIG</item>
0491       <item>CHROOT</item>
0492       <item>CHOWN</item>
0493       <item>CHDIR</item>
0494       <item>CGROUP</item>
0495       <item>CAPABILITIES</item>
0496       <item>CANTCREAT</item>
0497       <item>CACHE_DIRECTORY</item>
0498       <item>BPF</item>
0499       <item>APPARMOR</item>
0500       <item>ADDRESS_FAMILIES</item>
0501     </list>
0502     <list name="exit type">
0503       <item>main</item>
0504       <item>cgroup</item>
0505     </list>
0506     <list name="failure mode">
0507       <item>terminate</item>
0508       <item>kill</item>
0509       <item>abort</item>
0510     </list>
0511     <list name="fs set">
0512       <item>@temporary</item>
0513       <item>@privileged-api</item>
0514       <item>@network</item>
0515       <item>@known</item>
0516       <item>@historical-block</item>
0517       <item>@common-block</item>
0518       <item>@basic-api</item>
0519       <item>@auxiliary-api</item>
0520     </list>
0521     <list name="fs type">
0522       <item>xfs</item>
0523       <item>virtiofs</item>
0524       <item>vfat</item>
0525       <item>udf</item>
0526       <item>tracefs</item>
0527       <item>tmpfs</item>
0528       <item>reiserfs</item>
0529       <item>proc</item>
0530       <item>overlay</item>
0531       <item>ocfs2</item>
0532       <item>ntfs3</item>
0533       <item>ntfs</item>
0534       <item>nilfs2</item>
0535       <item>nfs</item>
0536       <item>msdos</item>
0537       <item>mqueue</item>
0538       <item>jfs</item>
0539       <item>iso9660</item>
0540       <item>hugetlbfs</item>
0541       <item>gfs2</item>
0542       <item>fusectl</item>
0543       <item>fuse</item>
0544       <item>f2fs</item>
0545       <item>ext4</item>
0546       <item>ext3</item>
0547       <item>ext2</item>
0548       <item>exfat</item>
0549       <item>efivarfs</item>
0550       <item>devtmpfs</item>
0551       <item>debugfs</item>
0552       <item>configfs</item>
0553       <item>btrfs</item>
0554       <item>binfmt_misc</item>
0555     </list>
0556     <list name="io scheduling class">
0557       <item>realtime</item>
0558       <item>idle</item>
0559       <item>best-effort</item>
0560     </list>
0561     <list name="ip address name">
0562       <item>multicast</item>
0563       <item>localhost</item>
0564       <item>link-local</item>
0565       <item>any</item>
0566     </list>
0567     <list name="ip bind">
0568       <item>ipv6-only</item>
0569       <item>default</item>
0570       <item>both</item>
0571     </list>
0572     <list name="ip tos">
0573       <item>throughput</item>
0574       <item>reliability</item>
0575       <item>low-delay</item>
0576       <item>low-cost</item>
0577     </list>
0578     <list name="job mode">
0579       <item>replace-irreversibly</item>
0580       <item>replace</item>
0581       <item>isolate</item>
0582       <item>ignore-requirements</item>
0583       <item>ignore-dependencies</item>
0584       <item>flush</item>
0585       <item>fail</item>
0586     </list>
0587     <list name="keyring mode">
0588       <item>shared</item>
0589       <item>private</item>
0590       <item>inherit</item>
0591     </list>
0592     <list name="kill mode">
0593       <item>process</item>
0594       <item>none</item>
0595       <item>mixed</item>
0596       <item>control-group</item>
0597     </list>
0598     <list name="log facility">
0599       <item>uucp</item>
0600       <item>user</item>
0601       <item>syslog</item>
0602       <item>news</item>
0603       <item>mail</item>
0604       <item>lpr</item>
0605       <item>local7</item>
0606       <item>local6</item>
0607       <item>local5</item>
0608       <item>local4</item>
0609       <item>local3</item>
0610       <item>local2</item>
0611       <item>local1</item>
0612       <item>local0</item>
0613       <item>kern</item>
0614       <item>ftp</item>
0615       <item>daemon</item>
0616       <item>cron</item>
0617       <item>authpriv</item>
0618       <item>auth</item>
0619     </list>
0620     <list name="log level">
0621       <item>warning</item>
0622       <item>notice</item>
0623       <item>info</item>
0624       <item>err</item>
0625       <item>emerg</item>
0626       <item>debug</item>
0627       <item>crit</item>
0628       <item>alert</item>
0629     </list>
0630     <list name="memory mapping">
0631       <item>shared-huge</item>
0632       <item>shared-file-backed</item>
0633       <item>shared-dax</item>
0634       <item>shared-anonymous</item>
0635       <item>private-huge</item>
0636       <item>private-file-backed</item>
0637       <item>private-dax</item>
0638       <item>private-anonymous</item>
0639       <item>elf-headers</item>
0640       <item>default</item>
0641       <item>all</item>
0642     </list>
0643     <list name="memory pressure watch">
0644       <item>skip</item>
0645       <item>on</item>
0646       <item>off</item>
0647       <item>auto</item>
0648     </list>
0649     <list name="mount flag">
0650       <item>slave</item>
0651       <item>shared</item>
0652       <item>private</item>
0653     </list>
0654     <list name="namespace type">
0655       <item>uts</item>
0656       <item>user</item>
0657       <item>pid</item>
0658       <item>net</item>
0659       <item>mnt</item>
0660       <item>ipc</item>
0661       <item>cgroup</item>
0662     </list>
0663     <list name="nft address family">
0664       <item>netdev</item>
0665       <item>ip6</item>
0666       <item>ip</item>
0667       <item>inet</item>
0668       <item>bridge</item>
0669       <item>arp</item>
0670     </list>
0671     <list name="nft source type">
0672       <item>user</item>
0673       <item>group</item>
0674       <item>cgroup</item>
0675     </list>
0676     <list name="notify access">
0677       <item>none</item>
0678       <item>main</item>
0679       <item>exec</item>
0680       <item>all</item>
0681     </list>
0682     <list name="numa policy">
0683       <item>preferred</item>
0684       <item>local</item>
0685       <item>interleave</item>
0686       <item>default</item>
0687       <item>bind</item>
0688     </list>
0689     <list name="oom behavior">
0690       <item>kill</item>
0691       <item>auto</item>
0692     </list>
0693     <list name="oom policy">
0694       <item>stop</item>
0695       <item>kill</item>
0696       <item>continue</item>
0697     </list>
0698     <list name="oom preference">
0699       <item>omit</item>
0700       <item>none</item>
0701       <item>avoid</item>
0702     </list>
0703     <list name="open file option">
0704       <item>truncate</item>
0705       <item>read-only</item>
0706       <item>graceful</item>
0707       <item>append</item>
0708     </list>
0709     <list name="personality">
0710       <item>x86-64</item>
0711       <item>x86</item>
0712       <item>s390x</item>
0713       <item>s390</item>
0714       <item>ppc64-le</item>
0715       <item>ppc64</item>
0716       <item>ppc-le</item>
0717       <item>ppc</item>
0718       <item>arm64-be</item>
0719       <item>arm64</item>
0720       <item>arm-be</item>
0721       <item>arm</item>
0722     </list>
0723     <list name="proc subset">
0724       <item>pid</item>
0725       <item>all</item>
0726     </list>
0727     <list name="protect home">
0728       <item>tmpfs</item>
0729       <item>read-only</item>
0730     </list>
0731     <list name="protect system">
0732       <item>strict</item>
0733       <item>full</item>
0734     </list>
0735     <list name="restart">
0736       <item>on-watchdog</item>
0737       <item>on-success</item>
0738       <item>on-failure</item>
0739       <item>on-abort</item>
0740       <item>on-abnormal</item>
0741       <item>no</item>
0742       <item>always</item>
0743     </list>
0744     <list name="restart mode">
0745       <item>normal</item>
0746       <item>direct</item>
0747     </list>
0748     <list name="runtime directory preserve">
0749       <item>restart</item>
0750     </list>
0751     <list name="secure bits">
0752       <item>noroot-locked</item>
0753       <item>noroot</item>
0754       <item>no-setuid-fixup-locked</item>
0755       <item>no-setuid-fixup</item>
0756       <item>keep-caps-locked</item>
0757       <item>keep-caps</item>
0758     </list>
0759     <list name="security">
0760       <item>uefi-secureboot</item>
0761       <item>tpm2</item>
0762       <item>tomoyo</item>
0763       <item>smack</item>
0764       <item>selinux</item>
0765       <item>measured-uki</item>
0766       <item>ima</item>
0767       <item>cvm</item>
0768       <item>audit</item>
0769       <item>apparmor</item>
0770     </list>
0771     <list name="service type">
0772       <item>simple</item>
0773       <item>oneshot</item>
0774       <item>notify-reload</item>
0775       <item>notify</item>
0776       <item>idle</item>
0777       <item>forking</item>
0778       <item>exec</item>
0779       <item>dbus</item>
0780     </list>
0781     <list name="signal">
0782       <item>SIGXFSZ</item>
0783       <item>SIGXCPU</item>
0784       <item>SIGWINCH</item>
0785       <item>SIGVTALRM</item>
0786       <item>SIGUSR2</item>
0787       <item>SIGUSR1</item>
0788       <item>SIGURG</item>
0789       <item>SIGUNUSED</item>
0790       <item>SIGTTOU</item>
0791       <item>SIGTTIN</item>
0792       <item>SIGTSTP</item>
0793       <item>SIGTRAP</item>
0794       <item>SIGTERM</item>
0795       <item>SIGSYS</item>
0796       <item>SIGSTOP</item>
0797       <item>SIGSTKFLT</item>
0798       <item>SIGSEGV</item>
0799       <item>SIGQUIT</item>
0800       <item>SIGPWR</item>
0801       <item>SIGPROF</item>
0802       <item>SIGPOLL</item>
0803       <item>SIGPIPE</item>
0804       <item>SIGLOST</item>
0805       <item>SIGKILL</item>
0806       <item>SIGIOT</item>
0807       <item>SIGIO</item>
0808       <item>SIGINT</item>
0809       <item>SIGINFO</item>
0810       <item>SIGILL</item>
0811       <item>SIGHUP</item>
0812       <item>SIGFPE</item>
0813       <item>SIGEMT</item>
0814       <item>SIGCONT</item>
0815       <item>SIGCLD</item>
0816       <item>SIGCHLD</item>
0817       <item>SIGBUS</item>
0818       <item>SIGALRM</item>
0819       <item>SIGABRT</item>
0820     </list>
0821     <list name="socket protocol">
0822       <item>udplite</item>
0823       <item>sctp</item>
0824     </list>
0825     <list name="standard input">
0826       <item>tty-force</item>
0827       <item>tty-fail</item>
0828       <item>tty</item>
0829       <item>socket</item>
0830       <item>null</item>
0831       <item>data</item>
0832     </list>
0833     <list name="standard output">
0834       <item>tty</item>
0835       <item>socket</item>
0836       <item>null</item>
0837       <item>kmsg+console</item>
0838       <item>kmsg</item>
0839       <item>journal+console</item>
0840       <item>journal</item>
0841       <item>inherit</item>
0842     </list>
0843     <list name="system call architecture">
0844       <item>x32</item>
0845       <item>native</item>
0846       <item>mips64-n32</item>
0847       <item>mips64-le-n32</item>
0848     </list>
0849     <list name="system call filter set">
0850       <item>@timer</item>
0851       <item>@temporary</item>
0852       <item>@system-service</item>
0853       <item>@sync</item>
0854       <item>@swap</item>
0855       <item>@signal</item>
0856       <item>@setuid</item>
0857       <item>@sandbox</item>
0858       <item>@resources</item>
0859       <item>@reboot</item>
0860       <item>@raw-io</item>
0861       <item>@process</item>
0862       <item>@privileged-api</item>
0863       <item>@privileged</item>
0864       <item>@pkey</item>
0865       <item>@obsolete</item>
0866       <item>@network-io</item>
0867       <item>@network</item>
0868       <item>@mount</item>
0869       <item>@module</item>
0870       <item>@memlock</item>
0871       <item>@known</item>
0872       <item>@keyring</item>
0873       <item>@ipc</item>
0874       <item>@io-event</item>
0875       <item>@historical-block</item>
0876       <item>@file-system</item>
0877       <item>@default</item>
0878       <item>@debug</item>
0879       <item>@cpu-emulation</item>
0880       <item>@common-block</item>
0881       <item>@clock</item>
0882       <item>@chown</item>
0883       <item>@basic-io</item>
0884       <item>@basic-api</item>
0885       <item>@auxiliary-api</item>
0886       <item>@aio</item>
0887     </list>
0888     <list name="threshold time span">
0889       <item>5min</item>
0890       <item>1min</item>
0891       <item>10sec</item>
0892     </list>
0893     <list name="timestamping">
0894       <item>μs</item>
0895       <item>µs</item>
0896       <item>usec</item>
0897       <item>us</item>
0898       <item>off</item>
0899       <item>nsec</item>
0900       <item>ns</item>
0901     </list>
0902     <list name="utmp mode">
0903       <item>user</item>
0904       <item>login</item>
0905       <item>init</item>
0906     </list>
0907     <list name="virtualization">
0908       <item>zvm</item>
0909       <item>xen</item>
0910       <item>wsl</item>
0911       <item>vmware</item>
0912       <item>vm</item>
0913       <item>uml</item>
0914       <item>systemd-nspawn</item>
0915       <item>sre</item>
0916       <item>rkt</item>
0917       <item>qnx</item>
0918       <item>qemu</item>
0919       <item>proot</item>
0920       <item>private-users</item>
0921       <item>powervm</item>
0922       <item>pouch</item>
0923       <item>podman</item>
0924       <item>parallels</item>
0925       <item>oracle</item>
0926       <item>openvz</item>
0927       <item>microsoft</item>
0928       <item>lxc-libvirt</item>
0929       <item>lxc</item>
0930       <item>kvm</item>
0931       <item>docker</item>
0932       <item>container</item>
0933       <item>bochs</item>
0934       <item>bhyve</item>
0935       <item>apple</item>
0936       <item>amazon</item>
0937       <item>acrn</item>
0938     </list>
0939     <list name="options automount">
0940       <!-- Only options of type "text". Others are handled separately. -->
0941       <item>ExtraOptions</item>
0942       <item>Where</item>
0943     </list>
0944     <list name="options exec">
0945       <!-- Only options of type "text". Others are handled separately. -->
0946       <item>CacheDirectory</item>
0947       <item>ConfigurationDirectory</item>
0948       <item>ExecSearchPath</item>
0949       <item>ExtensionDirectories</item>
0950       <item>ExtensionImagePolicy</item>
0951       <item>ExtensionImages</item>
0952       <item>IPCNamespacePath</item>
0953       <item>ImportCredential</item>
0954       <item>InaccessiblePaths</item>
0955       <item>LoadCredential</item>
0956       <item>LoadCredentialEncrypted</item>
0957       <item>LogNamespace</item>
0958       <item>LogsDirectory</item>
0959       <item>MountImagePolicy</item>
0960       <item>MountImages</item>
0961       <item>NetworkNamespacePath</item>
0962       <item>PAMName</item>
0963       <item>PassEnvironment</item>
0964       <item>ProtectProc</item>
0965       <item>ReadOnlyPaths</item>
0966       <item>RootDirectory</item>
0967       <item>RootHashSignature</item>
0968       <item>RootImage</item>
0969       <item>RootImageOptions</item>
0970       <item>RootImagePolicy</item>
0971       <item>RootVerity</item>
0972       <item>RuntimeDirectory</item>
0973       <item>SetCredential</item>
0974       <item>SetCredentialEncrypted</item>
0975       <item>StandardInputData</item>
0976       <item>StandardInputText</item>
0977       <item>StateDirectory</item>
0978       <item>SyslogIdentifier</item>
0979       <item>TTYPath</item>
0980       <item>TemporaryFileSystem</item>
0981       <item>UnsetEnvironment</item>
0982       <item>UtmpIdentifier</item>
0983     </list>
0984     <list name="options resource-control">
0985       <!-- Only options of type "text". Others are handled separately. -->
0986       <item>DelegateSubgroup</item>
0987       <item>DeviceAllow</item>
0988       <item>IPEgressFilterPath</item>
0989       <item>IPIngressFilterPath</item>
0990     </list>
0991     <list name="options service">
0992       <!-- Only options of type "text". Others are handled separately. -->
0993       <item>BusName</item>
0994       <item>PIDFile</item>
0995       <item>USBFunctionDescriptors</item>
0996       <item>USBFunctionStrings</item>
0997     </list>
0998     <list name="options socket">
0999       <!-- Only options of type "text". Others are handled separately. -->
1000       <item>BindToDevice</item>
1001       <item>FileDescriptorName</item>
1002       <item>ListenDatagram</item>
1003       <item>ListenFIFO</item>
1004       <item>ListenMessageQueue</item>
1005       <item>ListenNetlink</item>
1006       <item>ListenSequentialPacket</item>
1007       <item>ListenSpecial</item>
1008       <item>ListenStream</item>
1009       <item>ListenUSBFunction</item>
1010       <item>SmackLabel</item>
1011       <item>SmackLabelIPIn</item>
1012       <item>SmackLabelIPOut</item>
1013       <item>Symlinks</item>
1014       <item>TCPCongestion</item>
1015     </list>
1016     <list name="options swap">
1017       <!-- Only options of type "text". Others are handled separately. -->
1018       <item>Options</item>
1019       <item>What</item>
1020     </list>
1021     <list name="options unit">
1022       <!-- Only options of type "text". Others are handled separately. -->
1023       <item>AssertCredential</item>
1024       <item>ConditionCredential</item>
1025       <item>Description</item>
1026       <item>Documentation</item>
1027       <item>JobTimeoutRebootArgument</item>
1028       <item>RebootArgument</item>
1029       <item>RequiresMountsFor</item>
1030       <item>SourcePath</item>
1031     </list>
1032     <contexts>
1033       <context name="start" attribute="Normal" lineEndContext="#stay">
1034         <IncludeRules context="section"/>
1035       </context>
1036       <!-- Contexts for Assert... and Condition... prefix. -->
1037       <context name="AC architecture" attribute="Normal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!architecture">
1038         <DetectSpaces/>
1039         <DetectChar char="="/>
1040         <RegExpr String="\|?\h*(?:!(?!=))?" attribute="Prefix" context="#pop!architecture"/>
1041       </context>
1042       <context name="AC boolean" attribute="Normal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!boolean">
1043         <DetectSpaces/>
1044         <DetectChar char="="/>
1045         <RegExpr String="\|?\h*(?:!(?!=))?" attribute="Prefix" context="#pop!boolean"/>
1046       </context>
1047       <context name="AC capability" attribute="Normal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!capability">
1048         <DetectSpaces/>
1049         <DetectChar char="="/>
1050         <RegExpr String="\|?\h*(?:!(?!=))?" attribute="Prefix" context="#pop!capability"/>
1051       </context>
1052       <context name="AC cardinal" attribute="Normal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!cardinal">
1053         <DetectSpaces/>
1054         <DetectChar char="="/>
1055         <RegExpr String="\|?\h*(?:!(?!=))?" attribute="Prefix" context="#pop!cardinal"/>
1056       </context>
1057       <context name="AC cardinal KMGT" attribute="Normal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!cardinal KMGT">
1058         <DetectSpaces/>
1059         <DetectChar char="="/>
1060         <RegExpr String="\|?\h*(?:!(?!=))?" attribute="Prefix" context="#pop!cardinal KMGT"/>
1061       </context>
1062       <context name="AC controller cg" attribute="Normal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!controller cg">
1063         <DetectSpaces/>
1064         <DetectChar char="="/>
1065         <RegExpr String="\|?\h*(?:!(?!=))?" attribute="Prefix" context="#pop!controller cg"/>
1066       </context>
1067       <context name="AC cpu feature" attribute="Normal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!cpu feature">
1068         <DetectSpaces/>
1069         <DetectChar char="="/>
1070         <RegExpr String="\|?\h*(?:!(?!=))?" attribute="Prefix" context="#pop!cpu feature"/>
1071       </context>
1072       <context name="AC firmware" attribute="Normal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!firmware">
1073         <DetectSpaces/>
1074         <DetectChar char="="/>
1075         <RegExpr String="\|?\h*(?:!(?!=))?" attribute="Prefix" context="#pop!firmware"/>
1076       </context>
1077       <context name="AC group" attribute="Normal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!group user">
1078         <DetectSpaces/>
1079         <DetectChar char="="/>
1080         <RegExpr String="\|?\h*(?:!(?!=))?" attribute="Prefix" context="#pop!group user"/>
1081       </context>
1082       <context name="AC security" attribute="Normal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!security">
1083         <DetectSpaces/>
1084         <DetectChar char="="/>
1085         <RegExpr String="\|?\h*(?:!(?!=))?" attribute="Prefix" context="#pop!security"/>
1086       </context>
1087       <context name="AC text" attribute="Normal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!text">
1088         <DetectSpaces/>
1089         <DetectChar char="="/>
1090         <RegExpr String="\|?\h*(?:!(?!=))?" attribute="Prefix" context="#pop!text"/>
1091       </context>
1092       <context name="AC text *" attribute="Normal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!text *">
1093         <DetectSpaces/>
1094         <DetectChar char="="/>
1095         <RegExpr String="\|?\h*(?:!(?!=))?" attribute="Prefix" context="#pop!text *"/>
1096       </context>
1097       <context name="AC text glob" attribute="Normal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!text glob">
1098         <DetectSpaces/>
1099         <DetectChar char="="/>
1100         <RegExpr String="\|?\h*(?:!(?!=))?" attribute="Prefix" context="#pop!text glob"/>
1101       </context>
1102       <context name="AC threshold" attribute="Normal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!threshold">
1103         <DetectSpaces/>
1104         <DetectChar char="="/>
1105         <RegExpr String="\|?\h*(?:!(?!=))?" attribute="Prefix" context="#pop!threshold"/>
1106       </context>
1107       <context name="AC user" attribute="Normal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!user @system">
1108         <DetectSpaces/>
1109         <DetectChar char="="/>
1110         <RegExpr String="\|?\h*(?:!(?!=))?" attribute="Prefix" context="#pop!user @system"/>
1111       </context>
1112       <context name="AC virtualization" attribute="Normal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!boolean virtualization">
1113         <DetectSpaces/>
1114         <DetectChar char="="/>
1115         <RegExpr String="\|?\h*(?:!(?!=))?" attribute="Prefix" context="#pop!boolean virtualization"/>
1116       </context>
1117       <!-- Contexts for other prefixes. -->
1118       <context name="- text" attribute="Normal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!text">
1119         <DetectSpaces/>
1120         <DetectChar char="="/>
1121         <DetectChar char="-" attribute="Prefix" context="#pop!text"/>
1122       </context>
1123       <context name="- working directory" attribute="Normal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!working directory">
1124         <DetectSpaces/>
1125         <DetectChar char="="/>
1126         <DetectChar char="-" attribute="Prefix" context="#pop!working directory"/>
1127       </context>
1128       <context name="~ address family list" attribute="Normal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!address family list">
1129         <DetectSpaces/>
1130         <DetectChar char="="/>
1131         <DetectChar char="~" attribute="Prefix" context="#pop!address family list"/>
1132       </context>
1133       <context name="~ capability list" attribute="Normal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!capability list">
1134         <DetectSpaces/>
1135         <DetectChar char="="/>
1136         <DetectChar char="~" attribute="Prefix" context="#pop!capability list"/>
1137       </context>
1138       <context name="~ fs type set list" attribute="Normal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!fs type set list">
1139         <DetectSpaces/>
1140         <DetectChar char="="/>
1141         <DetectChar char="~" attribute="Prefix" context="#pop!fs type set list"/>
1142       </context>
1143       <context name="~ namespace list" attribute="Normal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!namespace list">
1144         <DetectSpaces/>
1145         <DetectChar char="="/>
1146         <DetectChar char="~" attribute="Prefix" context="#pop!namespace list"/>
1147       </context>
1148       <context name="~ system call filter list" attribute="Normal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!system call filter list">
1149         <DetectSpaces/>
1150         <DetectChar char="="/>
1151         <DetectChar char="~" attribute="Prefix" context="#pop!system call filter list"/>
1152       </context>
1153       <context name="~ text" attribute="Normal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!text">
1154         <DetectSpaces/>
1155         <DetectChar char="="/>
1156         <DetectChar char="~" attribute="Prefix" context="#pop!text"/>
1157       </context>
1158       <!-- Contexts for option value data types. -->
1159       <context name="-+/path list" attribute="Normal" lineEndContext="#pop">
1160         <RegExpr String="(?&lt;==|\h)(?:\+|-\+?)(?=/)" attribute="Prefix"/>
1161         <IncludeRules context="list"/>
1162       </context>
1163       <context name="action" attribute="Normal" lineEndContext="#pop">
1164         <keyword String="action" attribute="Constant" context="#pop"/>
1165       </context>
1166       <context name="address family list" attribute="Normal" lineEndContext="#pop">
1167         <WordDetect String="none" attribute="Constant" context="#pop"/>
1168         <keyword String="address family" attribute="Constant"/>
1169         <IncludeRules context="list"/>
1170       </context>
1171       <context name="architecture" attribute="Normal" lineEndContext="#pop">
1172         <keyword String="architecture" attribute="Constant" context="#pop"/>
1173       </context>
1174       <context name="bind list" attribute="Normal" lineEndContext="#pop">
1175         <WordDetect String="norbind" attribute="Constant"/>
1176         <WordDetect String="rbind" attribute="Constant"/>
1177         <IncludeRules context="list"/>
1178       </context>
1179       <context name="boolean" attribute="Normal" lineEndContext="#pop">
1180         <keyword String="boolean" attribute="Constant" context="#pop"/>
1181         <AnyChar String="01tfyn" attribute="Constant" context="#pop"/>
1182       </context>
1183       <context name="boolean virtualization" attribute="Normal" lineEndContext="#pop">
1184         <IncludeRules context="boolean"/>
1185         <IncludeRules context="virtualization"/>
1186       </context>
1187       <context name="bpf program" attribute="Normal" lineEndContext="#pop">
1188         <keyword String="bpf program type" attribute="Constant"/>
1189       </context>
1190       <context name="calendar" attribute="Normal" lineEndContext="#pop">
1191         <keyword String="calendar" attribute="Constant"/>
1192         <!-- Keywords are set to be case-sensitive, so use case-insensitive WordDetect. -->
1193         <WordDetect String="monday" insensitive="true" attribute="Constant"/>
1194         <WordDetect String="mon" insensitive="true" attribute="Constant"/>
1195         <WordDetect String="tuesday" insensitive="true" attribute="Constant"/>
1196         <WordDetect String="tue" insensitive="true" attribute="Constant"/>
1197         <WordDetect String="wednesday" insensitive="true" attribute="Constant"/>
1198         <WordDetect String="wed" insensitive="true" attribute="Constant"/>
1199         <WordDetect String="thursday" insensitive="true" attribute="Constant"/>
1200         <WordDetect String="thu" insensitive="true" attribute="Constant"/>
1201         <WordDetect String="friday" insensitive="true" attribute="Constant"/>
1202         <WordDetect String="fri" insensitive="true" attribute="Constant"/>
1203         <WordDetect String="saturday" insensitive="true" attribute="Constant"/>
1204         <WordDetect String="sat" insensitive="true" attribute="Constant"/>
1205         <WordDetect String="sunday" insensitive="true" attribute="Constant"/>
1206         <WordDetect String="sun" insensitive="true" attribute="Constant"/>
1207         <WordDetect String="utc" insensitive="true" attribute="Constant"/>
1208         <DetectChar char="*" attribute="Wildcard"/>
1209       </context>
1210       <context name="capability" attribute="Normal" lineEndContext="#pop">
1211         <keyword String="capability" attribute="Constant" context="#pop"/>
1212       </context>
1213       <context name="capability list" attribute="Normal" lineEndContext="#pop">
1214         <keyword String="capability" attribute="Constant"/>
1215         <IncludeRules context="list"/>
1216       </context>
1217       <context name="cardinal" attribute="Normal" lineEndContext="#pop">
1218         <Int attribute="Number" context="#pop"/>
1219       </context>
1220       <context name="cardinal % infinity" attribute="Normal" lineEndContext="#pop">
1221         <Int attribute="Number"/>
1222         <DetectChar char="%" attribute="Measurement Unit" context="#pop"/>
1223         <IncludeRules context="infinity"/>
1224       </context>
1225       <context name="cardinal %KMGT infinity" attribute="Normal" lineEndContext="#pop">
1226         <RegExpr String="\b[1-9]\d*\h*(?=([KMGT%])?)" attribute="Number" context="#pop!measurement unit"/>
1227         <IncludeRules context="infinity"/>
1228       </context>
1229       <context name="cardinal KMGT" attribute="Normal" lineEndContext="#pop">
1230         <RegExpr String="\b[1-9]\d*\h*(?=([KMGT])?)" attribute="Number" context="#pop!measurement unit"/>
1231         <LineContinue attribute="Continuation"/>
1232       </context>
1233       <context name="cardinal KMGT infinity" attribute="Normal" lineEndContext="#pop">
1234         <IncludeRules context="cardinal KMGT"/>
1235         <IncludeRules context="infinity"/>
1236       </context>
1237       <context name="collect mode" attribute="Normal" lineEndContext="#pop">
1238         <keyword String="collect mode" attribute="Constant" context="#pop"/>
1239       </context>
1240       <context name="controller cg" attribute="Normal" lineEndContext="#pop">
1241         <keyword String="controller cg" attribute="Constant"/>
1242       </context>
1243       <context name="controller list" attribute="Normal" lineEndContext="#pop">
1244         <keyword String="controller" attribute="Constant"/>
1245         <IncludeRules context="list"/>
1246       </context>
1247       <context name="comment" attribute="Comment" lineEndContext="#pop">
1248         <IncludeRules context="##Comments"/>
1249       </context>
1250       <context name="cpu affinity" attribute="Normal" lineEndContext="#pop">
1251         <WordDetect String="numa" attribute="Constant" context="#pop"/>
1252         <Int lookAhead="true" context="#pop!cpu index list"/>
1253         <IncludeRules context="specifier"/>
1254       </context>
1255       <context name="cpu feature" attribute="Normal" lineEndContext="#pop">
1256         <keyword String="cpu feature" attribute="Constant" context="#pop"/>
1257       </context>
1258       <context name="cpu index list" attribute="Normal" lineEndContext="#pop">
1259         <RegExpr String="\b\d+(?:\s*-\s*\d+)?\b" attribute="Number"/>
1260         <IncludeRules context="list"/>
1261       </context>
1262       <context name="cpu scheduling policy" attribute="Normal" lineEndContext="#pop">
1263         <keyword String="cpu scheduling policy" attribute="Constant" context="#pop"/>
1264       </context>
1265       <context name="cpu scheduling priority" attribute="Normal" lineEndContext="#pop">
1266         <RegExpr String="\b[1-9]\d?\b" attribute="Number" context="#pop"/>
1267       </context>
1268       <context name="cpu weight" attribute="Normal" lineEndContext="#pop">
1269         <WordDetect String="idle" attribute="Constant" context="#pop"/>
1270         <IncludeRules context="weight"/>
1271       </context>
1272       <context name="delegate" attribute="Normal" lineEndContext="#pop">
1273         <IncludeRules context="boolean"/>
1274         <IncludeRules context="controller list"/>
1275       </context>
1276       <context name="device cardinal KMGT" attribute="Normal" lineEndContext="#pop">
1277         <!-- Skip the device. -->
1278         <RegExpr String="/.*?\h+" context="#pop!cardinal KMGT"/>
1279       </context>
1280       <context name="device policy" attribute="Normal" lineEndContext="#pop">
1281         <keyword String="device policy" attribute="Constant" context="#pop"/>
1282       </context>
1283       <context name="device time span" attribute="Normal" lineEndContext="#pop">
1284         <!-- Skip the device. -->
1285         <RegExpr String="/.+?\h+" context="#pop!time span"/>
1286       </context>
1287       <context name="exec" attribute="Normal" lineEndContext="#pop">
1288         <DetectChar char="=" context="#pop!exec prefix"/>
1289       </context>
1290       <context name="exec command" attribute="Normal" lineEndContext="#pop">
1291         <DetectChar char="," context="#pop!exec prefix"/>
1292         <!-- Escapes (not exactly the same as detected by HlCStringChar). -->
1293         <RegExpr String="\\(?:[&quot;'\abfnrstv]|[0-7]{3}|u[&hex;]{4}|U[&hex;]{8}|x[&hex;]{2})" attribute="Escape"/>
1294         <!-- Environment variable as a separate word. | Environment variable within word. -->
1295         <RegExpr String="(?&lt;=\h)\$\w+(?=\h|,|\\|$)|\${\w+}" attribute="Environment Variable"/>
1296         <IncludeRules context="text"/>
1297       </context>
1298       <context name="exec prefix" attribute="Normal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!exec command">
1299         <DetectSpaces/>
1300         <!-- Prefix characters excluding invalid repetitions. -->
1301         <RegExpr String="(?:(@|-|:)(?![@\-:+!]*\1)){0,3}(?:\+|!!?)?(?:(@|-|:)(?![@\-:]\2)){0,3}(?=\H)" attribute="Prefix" context="#pop!exec command"/>
1302       </context>
1303       <context name="exit status" attribute="Normal" lineEndContext="#pop">
1304         <keyword String="exit status" attribute="Constant"/>
1305         <IncludeRules context="exit status signal"/>
1306       </context>
1307       <context name="exit status signal" attribute="Normal" lineEndContext="#pop">
1308         <keyword String="signal" attribute="Constant"/>
1309         <Int attribute="Number"/>
1310         <IncludeRules context="list"/>
1311       </context>
1312       <context name="exit type" attribute="Normal" lineEndContext="#pop">
1313         <keyword String="exit type" attribute="Constant" context="#pop"/>
1314       </context>
1315       <context name="extension option" attribute="Extension" lineEndContext="#pop">
1316         <LineContinue attribute="Continuation"/>
1317       </context>
1318       <context name="extension section" attribute="Extension" lineEndContext="#stay">
1319         <IncludeRules context="section"/>
1320       </context>
1321       <context name="failure mode" attribute="Normal" lineEndContext="#pop">
1322         <keyword String="failure mode" attribute="Constant" context="#pop"/>
1323       </context>
1324       <context name="file mode" attribute="Normal" lineEndContext="#pop">
1325         <RegExpr String="[0-7]{3,4}" attribute="File Mode" context="#pop"/>
1326       </context>
1327       <context name="firmware" attribute="Normal" lineEndContext="#pop">
1328         <WordDetect String="uefi" attribute="Constant" context="#pop"/>
1329         <RegExpr String="device-tree(?:-compatible(?=\(.+\)))?|smbios-field(?=\(.+\))" attribute="Constant" context="#pop"/>
1330       </context>
1331       <context name="fs type" attribute="Normal" lineEndContext="#pop">
1332         <keyword String="fs type" attribute="Constant" context="#pop"/>
1333       </context>
1334       <context name="fs type set list" attribute="Normal" lineEndContext="#pop">
1335         <keyword String="fs set" attribute="Constant"/>
1336         <keyword String="fs type" attribute="Constant"/>
1337         <IncludeRules context="list"/>
1338       </context>
1339       <context name="group list" attribute="Normal" lineEndContext="#pop">
1340         <Int attribute="Number"/>
1341         <IncludeRules context="specifier"/>
1342         <IncludeRules context="list"/>
1343       </context>
1344       <!-- User group or user, with both number and name being valid. -->
1345       <context name="group user" attribute="Normal" lineEndContext="#pop">
1346         <Int attribute="Number" context="#pop"/>
1347         <IncludeRules context="specifier"/>
1348       </context>
1349       <context name="hex" attribute="Normal" lineEndContext="#pop">
1350         <HlCHex attribute="Number Hexadecimal"/>
1351       </context>
1352       <context name="infinity" attribute="Normal" lineEndContext="#stay">
1353         <WordDetect String="infinity" attribute="Constant" context="#pop"/>
1354       </context>
1355       <context name="io scheduling class" attribute="Normal" lineEndContext="#pop">
1356         <keyword String="io scheduling class" attribute="Constant" context="#pop"/>
1357         <AnyChar String="0123" attribute="Number" context="#pop"/>
1358       </context>
1359       <context name="io scheduling priority" attribute="Normal" lineEndContext="#pop">
1360         <AnyChar String="01234567" attribute="Number" context="#pop"/>
1361       </context>
1362       <context name="ip address list" attribute="Normal" lineEndContext="#pop">
1363         <keyword String="ip address name" attribute="Constant"/>
1364         <Int attribute="Number"/>
1365         <RegExpr String="[a-fA-F0-9]*[a-fA-F][a-fA-F0-9]*" attribute="Number Hexadecimal"/>
1366         <IncludeRules context="list"/>
1367       </context>
1368       <context name="ip bind" attribute="Normal" lineEndContext="#pop">
1369         <keyword String="ip bind" attribute="Constant" context="#pop"/>
1370       </context>
1371       <context name="ip tos" attribute="Normal" lineEndContext="#pop">
1372         <Int attribute="Number" context="#pop"/>
1373         <keyword String="ip tos" attribute="Constant" context="#pop"/>
1374       </context>
1375       <context name="job mode" attribute="Normal" lineEndContext="#pop">
1376         <keyword String="job mode" attribute="Constant" context="#pop"/>
1377       </context>
1378       <context name="keyring mode" attribute="Normal" lineEndContext="#pop">
1379         <keyword String="keyring mode" attribute="Constant" context="#pop"/>
1380       </context>
1381       <context name="kill mode" attribute="Normal" lineEndContext="#pop">
1382         <keyword String="kill mode" attribute="Constant" context="#pop"/>
1383       </context>
1384       <context name="limit" attribute="Normal" lineEndContext="#pop">
1385         <IncludeRules context="infinity"/>
1386       </context>
1387       <context name="limit bytes" attribute="Normal" lineEndContext="#pop">
1388         <IncludeRules context="limit"/>
1389         <Int attribute="Number"/>
1390         <AnyChar String="KMGTPE" attribute="Measurement Unit"/>
1391       </context>
1392       <context name="limit nice level" attribute="Normal" lineEndContext="#pop">
1393         <IncludeRules context="limit"/>
1394         <RegExpr String="(?:[\b+-]1?\d|-20|\b[1-3]?\d|\b40)\b" attribute="Number"/>
1395       </context>
1396       <context name="limit number" attribute="Normal" lineEndContext="#pop">
1397         <IncludeRules context="limit"/>
1398         <Int attribute="Number"/>
1399       </context>
1400       <context name="limit time span" attribute="Normal" lineEndContext="#pop">
1401         <IncludeRules context="limit"/>
1402         <IncludeRules context="time span"/>
1403       </context>
1404       <context name="list" attribute="Normal" lineEndContext="#stay">
1405         <LineContinue attribute="Continuation"/>
1406       </context>
1407       <context name="log facility" attribute="Normal" lineEndContext="#pop">
1408         <keyword String="log facility" attribute="Constant" context="#pop"/>
1409       </context>
1410       <context name="log level" attribute="Normal" lineEndContext="#pop">
1411         <keyword String="log level" attribute="Constant" context="#pop"/>
1412       </context>
1413       <context name="measurement unit" attribute="Normal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
1414         <StringDetect String="%1" dynamic="true" attribute="Measurement Unit" context="#pop"/>
1415       </context>
1416       <context name="memory mapping" attribute="Normal" lineEndContext="#pop">
1417         <keyword String="memory mapping" attribute="Constant"/>
1418         <IncludeRules context="list"/>
1419       </context>
1420       <context name="memory pressure watch" attribute="Normal" lineEndContext="#pop">
1421         <keyword String="memory pressure watch" attribute="Constant" context="#pop"/>
1422       </context>
1423       <context name="mount flag" attribute="Normal" lineEndContext="#pop">
1424         <keyword String="mount flag" attribute="Constant" context="#pop"/>
1425       </context>
1426       <context name="namespace list" attribute="Normal" lineEndContext="#pop">
1427         <keyword String="namespace type" attribute="Constant"/>
1428         <IncludeRules context="boolean"/>
1429         <IncludeRules context="list"/>
1430       </context>
1431       <context name="nft address family" attribute="Normal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
1432         <DetectChar char=":"/>
1433         <keyword String="nft address family" attribute="Constant" context="#pop"/>
1434       </context>
1435       <context name="nft set list" attribute="Normal" lineEndContext="#pop">
1436         <keyword String="nft source type" attribute="Constant" context="nft address family"/>
1437         <IncludeRules context="list"/>
1438       </context>
1439       <context name="nice level" attribute="Normal" lineEndContext="#pop">
1440         <StringDetect String="-20" attribute="Number" context="#pop"/>
1441         <RegExpr String="[+\-]?1?\d" attribute="Number" context="#pop"/>
1442       </context>
1443       <context name="notify access" attribute="Normal" lineEndContext="#pop">
1444         <keyword String="notify access" attribute="Constant" context="#pop"/>
1445       </context>
1446       <context name="numa mask" attribute="Normal" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!cpu index list">
1447         <DetectSpaces/>
1448         <DetectChar char="="/>
1449         <WordDetect String="all" attribute="Constant" context="#pop"/>
1450       </context>
1451       <context name="numa policy" attribute="Normal" lineEndContext="#pop">
1452         <keyword String="numa policy" attribute="Constant" context="#pop"/>
1453       </context>
1454       <context name="oom behavior" attribute="Normal" lineEndContext="#pop">
1455         <keyword String="oom behavior" attribute="Constant" context="#pop"/>
1456       </context>
1457       <context name="oom preference" attribute="Normal" lineEndContext="#pop">
1458         <keyword String="oom preference" attribute="Constant" context="#pop"/>
1459       </context>
1460       <context name="oom policy" attribute="Normal" lineEndContext="#pop">
1461         <keyword String="oom policy" attribute="Constant" context="#pop"/>
1462       </context>
1463       <context name="oom score adjust" attribute="Normal" lineEndContext="#pop">
1464         <RegExpr String="[+\-]?(?:1000|\d{1,3})" attribute="Number" context="#pop"/>
1465       </context>
1466       <context name="open file" attribute="Normal" lineEndContext="#pop">
1467         <DetectChar char=":" attribute="Separator" context="open file name"/>
1468       </context>
1469       <context name="open file name" attribute="File Descriptor Name" lineEndContext="#pop">
1470         <DetectChar char=":" attribute="Separator" context="open file options"/>
1471       </context>
1472       <context name="open file options" attribute="Normal" lineEndContext="#pop">
1473         <keyword String="open file option" attribute="Constant"/>
1474       </context>
1475       <context name="percent" attribute="Normal" lineEndContext="#pop">
1476         <RegExpr String="\d+(?:\.\d+)?(?=\h*%&end;)" attribute="Number" context="#pop!percent S"/>
1477       </context>
1478       <context name="percent S" attribute="Normal" lineEndContext="#pop">
1479         <DetectChar char="%" attribute="Measurement Unit" context="#pop"/>
1480       </context>
1481       <context name="personality" attribute="Normal" lineEndContext="#pop">
1482         <keyword String="personality" attribute="Constant" context="#pop"/>
1483       </context>
1484       <context name="proc subset" attribute="Normal" lineEndContext="#pop">
1485         <keyword String="proc subset" attribute="Constant" context="#pop"/>
1486       </context>
1487       <context name="protect home" attribute="Normal" lineEndContext="#pop">
1488         <keyword String="protect home" attribute="Constant" context="#pop"/>
1489         <IncludeRules context="boolean"/>
1490       </context>
1491       <context name="protect system" attribute="Normal" lineEndContext="#pop">
1492         <keyword String="protect system" attribute="Constant" context="#pop"/>
1493         <IncludeRules context="boolean"/>
1494       </context>
1495       <context name="restart" attribute="Normal" lineEndContext="#pop">
1496         <keyword String="restart" attribute="Constant" context="#pop"/>
1497       </context>
1498       <context name="restart mode" attribute="Normal" lineEndContext="#pop">
1499         <keyword String="restart mode" attribute="Constant" context="#pop"/>
1500       </context>
1501       <context name="runtime directory preserve" attribute="Normal" lineEndContext="#pop">
1502         <keyword String="runtime directory preserve" attribute="Constant" context="#pop"/>
1503         <IncludeRules context="boolean"/>
1504       </context>
1505       <context name="section" attribute="Normal" lineEndContext="#stay">
1506         <AnyChar String="#;" firstNonSpace="true" attribute="Comment" context="comment"/>
1507         <Detect2Chars char="X" char1="-" firstNonSpace="true" attribute="Extension" context="extension option"/>
1508         <StringDetect String="[Automount]" firstNonSpace="true" attribute="Section Header" context="#pop!section automount" endRegion="section" beginRegion="section"/>
1509         <StringDetect String="[Install]" firstNonSpace="true" attribute="Section Header" context="#pop!section install" endRegion="section" beginRegion="section"/>
1510         <StringDetect String="[Mount]" firstNonSpace="true" attribute="Section Header" context="#pop!section mount" endRegion="section" beginRegion="section"/>
1511         <StringDetect String="[Path]" firstNonSpace="true" attribute="Section Header" context="#pop!section path" endRegion="section" beginRegion="section"/>
1512         <StringDetect String="[Service]" firstNonSpace="true" attribute="Section Header" context="#pop!section service" endRegion="section" beginRegion="section"/>
1513         <StringDetect String="[Socket]" firstNonSpace="true" attribute="Section Header" context="#pop!section socket" endRegion="section" beginRegion="section"/>
1514         <StringDetect String="[Swap]" firstNonSpace="true" attribute="Section Header" context="#pop!section swap" endRegion="section" beginRegion="section"/>
1515         <StringDetect String="[Timer]" firstNonSpace="true" attribute="Section Header" context="#pop!section timer" endRegion="section" beginRegion="section"/>
1516         <StringDetect String="[Unit]" firstNonSpace="true" attribute="Section Header" context="#pop!section unit" endRegion="section" beginRegion="section"/>
1517         <RegExpr String="\[X-\w*\]" firstNonSpace="true" attribute="Extension Header" context="#pop!extension section" endRegion="section" beginRegion="section"/>
1518       </context>
1519       <context name="secure bits list" attribute="Normal" lineEndContext="#pop">
1520         <keyword String="secure bits" attribute="Constant"/>
1521         <IncludeRules context="list"/>
1522       </context>
1523       <context name="security" attribute="Normal" lineEndContext="#pop">
1524         <keyword String="security" attribute="Constant" context="#pop"/>
1525       </context>
1526       <context name="service type" attribute="Normal" lineEndContext="#pop">
1527         <keyword String="service type" attribute="Constant" context="#pop"/>
1528       </context>
1529       <context name="signal" attribute="Normal" lineEndContext="#pop">
1530         <keyword String="signal" attribute="Constant" context="#pop"/>
1531       </context>
1532       <context name="socket protocol" attribute="Normal" lineEndContext="#pop">
1533         <keyword String="socket protocol" attribute="Constant" context="#pop"/>
1534       </context>
1535       <context name="socket bind rule" attribute="Normal" lineEndContext="#pop">
1536         <WordDetect String="any" attribute="Constant" context="#pop"/>
1537         <RegExpr String="(?:ipv[46]:)?(?:\s*(?:tcp|udp):)?(?:\s*\d{1,5}(?:\s*-\s*\d{1,5})?)?\s*$" attribute="Normal" lookAhead="true" context="#pop!socket bind rule S"/>
1538       </context>
1539       <context name="socket bind rule S" attribute="Normal" lineEndContext="#pop">
1540         <WordDetect String="ipv4" attribute="Constant"/>
1541         <WordDetect String="ipv6" attribute="Constant"/>
1542         <WordDetect String="tcp" attribute="Constant"/>
1543         <WordDetect String="udp" attribute="Constant"/>
1544         <!-- The "Int" rule does not detect the second part of a range, so just use a "RegExpr". -->
1545         <RegExpr String="\d+" attribute="Number"/>
1546       </context>
1547       <context name="specifier" attribute="Normal" lineEndContext="#stay">
1548         <RegExpr String="&specifier;" attribute="Specifier"/>
1549       </context>
1550       <context name="standard io" attribute="Normal" lineEndContext="#stay">
1551         <RegExpr String="fd(?::(?=\S))?|file:(?=/\S)" attribute="Constant" context="#pop"/>
1552       </context>
1553       <context name="standard input" attribute="Normal" lineEndContext="#pop">
1554         <IncludeRules context="standard io"/>
1555         <keyword String="standard input" attribute="Constant" context="#pop"/>
1556       </context>
1557       <context name="standard output" attribute="Normal" lineEndContext="#pop">
1558         <RegExpr String="(?:append|truncate):(?=/\S)" attribute="Constant" context="#pop"/>
1559         <IncludeRules context="standard io"/>
1560         <keyword String="standard output" attribute="Constant" context="#pop"/>
1561       </context>
1562       <context name="system call architecture" attribute="Normal" lineEndContext="#pop">
1563         <keyword String="system call architecture" attribute="Constant"/>
1564         <keyword String="architecture" attribute="Constant"/>
1565         <IncludeRules context="list"/>
1566       </context>
1567       <context name="system call errno" attribute="Normal" lineEndContext="#pop">
1568         <keyword String="errno" attribute="Errno Name" context="#pop"/>
1569         <RegExpr String="40(?:9[0-5]|[0-8]\d)|[1-3]\d{1,3}|[1-9]\d{0,2}" attribute="Errno Number" context="#pop"/>
1570       </context>
1571       <context name="system call filter list" attribute="Normal" lineEndContext="#pop">
1572         <keyword String="system call filter set" attribute="Constant"/>
1573         <IncludeRules context="list"/>
1574       </context>
1575       <context name="text" attribute="Normal" lineEndContext="#pop">
1576         <IncludeRules context="specifier"/>
1577         <LineContinue attribute="Continuation"/>
1578       </context>
1579       <context name="text *" attribute="Normal" lineEndContext="#pop">
1580         <IncludeRules context="text"/>
1581         <DetectChar char="*" attribute="Wildcard"/>
1582       </context>
1583       <context name="text glob" attribute="Normal" lineEndContext="#pop">
1584         <IncludeRules context="text"/>
1585         <AnyChar String="*?" attribute="Wildcard"/>
1586         <RangeDetect char="[" char1="]" attribute="Wildcard"/>
1587       </context>
1588       <context name="threshold" attribute="Normal" lineEndContext="#pop">
1589         <RegExpr String="\d+(?:\.\d+)?(?=\h*%)" attribute="Number" context="#pop!threshold %"/>
1590       </context>
1591       <context name="threshold %" attribute="Normal" lineEndContext="#pop">
1592         <DetectChar char="/" attribute="Separator" context="#pop!threshold time span"/>
1593       </context>
1594       <context name="threshold time span" attribute="Normal" lineEndContext="#pop">
1595         <!-- There is only a fixed set of possible time spans to choose from. -->
1596         <keyword String="threshold time span" attribute="Threshold Time Span"/>
1597       </context>
1598       <context name="time span" attribute="Normal" lineEndContext="#pop">
1599         <RegExpr String="&tsp;" attribute="Number" context="measurement unit"/>
1600         <IncludeRules context="list"/>
1601       </context>
1602       <context name="timeout" attribute="Normal" lineEndContext="#pop">
1603         <IncludeRules context="infinity"/>
1604         <IncludeRules context="time span"/>
1605       </context>
1606       <context name="timestamping" attribute="Normal" lineEndContext="#pop">
1607         <keyword String="timestamping" attribute="Constant" context="#pop"/>
1608       </context>
1609       <context name="unit" attribute="Normal" lineEndContext="#pop">
1610         <RegExpr String="&unit;" lookAhead="true" attribute="Unit Name" context="#pop!unit S"/>
1611       </context>
1612       <context name="unit extension" attribute="Unit Extension" lineEndContext="#pop">
1613         <RegExpr String="\.(?:&extension;)&end;" attribute="Unit Extension" context="#pop"/>
1614       </context>
1615       <context name="unit instance" attribute="Unit Instance" lineEndContext="#pop">
1616         <IncludeRules context="specifier"/>
1617         <RegExpr String="&escaped;" attribute="Escape"/>
1618         <IncludeRules context="unit extension"/>
1619       </context>
1620       <context name="unit list" attribute="Normal" lineEndContext="#pop">
1621         <RegExpr String="&unit;" lookAhead="true" attribute="Unit Name" context="unit S"/>
1622         <IncludeRules context="list"/>
1623       </context>
1624       <context name="unit list socket" attribute="Normal" lineEndContext="#pop">
1625         <RegExpr String="&name;\.socket&end;" lookAhead="true" attribute="Unit Name" context="unit S"/>
1626         <IncludeRules context="list"/>
1627       </context>
1628       <context name="unit S" attribute="Unit Name" lineEndContext="#pop">
1629         <IncludeRules context="specifier"/>
1630         <RegExpr String="&escaped;" attribute="Escape"/>
1631         <IncludeRules context="unit extension"/>
1632         <DetectChar char="@" attribute="Unit Instance" context="#pop!unit instance"/>
1633       </context>
1634       <context name="unit service" attribute="Normal" lineEndContext="#pop">
1635         <RegExpr String="&name;\.service&end;" lookAhead="true" attribute="Unit Name" context="#pop!unit S"/>
1636       </context>
1637       <context name="unit slice" attribute="Normal" lineEndContext="#pop">
1638         <RegExpr String="&name;\.slice&end;" lookAhead="true" attribute="Unit Name" context="#pop!unit S"/>
1639       </context>
1640       <context name="user @system" attribute="Normal" lineEndContext="#pop">
1641         <IncludeRules context="group user"/>
1642         <WordDetect String="@system" attribute="Constant" context="#pop"/>
1643       </context>
1644       <context name="utmp mode" attribute="Normal" lineEndContext="#pop">
1645         <keyword String="utmp mode" attribute="Constant" context="#pop"/>
1646       </context>
1647       <context name="variable assignment" attribute="Normal" lineEndContext="#pop">
1648         <DetectChar char="=" context="#pop!variable assignment list"/>
1649       </context>
1650       <context name="variable assignment list" attribute="Normal" lineEndContext="#pop">
1651         <RegExpr String="\b\w+(?=\h*=)" attribute="Environment Variable"/>
1652         <IncludeRules context="specifier"/>
1653         <IncludeRules context="list"/>
1654       </context>
1655       <context name="virtualization" attribute="Normal" lineEndContext="#pop">
1656         <keyword String="virtualization" attribute="Constant" context="#pop"/>
1657       </context>
1658       <context name="weight" attribute="Normal" lineEndContext="#pop">
1659         <!-- 1..10000 -->
1660         <RegExpr String="\b10000|[1-9]\d{0,3}\h*$" attribute="Number" context="#pop"/>
1661       </context>
1662       <context name="working directory" attribute="Normal" lineEndContext="#pop">
1663         <!-- As `~` has the same effect as the specifier %h, we use the same style. -->
1664         <DetectChar char="~" attribute="Specifier" context="#pop"/>
1665         <IncludeRules context="specifier"/>
1666       </context>
1667       <!-- Contexts for option groups. -->
1668       <context name="options automount" attribute="Normal" lineEndContext="#stay">
1669         <keyword String="options automount" firstNonSpace="true" attribute="Option Name" context="text"/>
1670         <WordDetect String="DirectoryMode" firstNonSpace="true" attribute="Option Name" context="file mode"/>
1671         <WordDetect String="TimeoutIdleSec" firstNonSpace="true" attribute="Option Name" context="timeout"/>
1672       </context>
1673       <context name="options exec" attribute="Normal" lineEndContext="#stay">
1674         <keyword String="options exec" firstNonSpace="true" attribute="Option Name" context="text"/>
1675         <WordDetect String="AmbientCapabilities" firstNonSpace="true" attribute="Option Name" context="~ capability list"/>
1676         <WordDetect String="AppArmorProfile" firstNonSpace="true" attribute="Option Name" context="- text"/>
1677         <WordDetect String="BindPaths" firstNonSpace="true" attribute="Option Name" context="bind list"/>
1678         <WordDetect String="BindReadOnlyPaths" firstNonSpace="true" attribute="Option Name" context="bind list"/>
1679         <WordDetect String="CPUAffinity" firstNonSpace="true" attribute="Option Name" context="cpu affinity"/>
1680         <WordDetect String="CPUSchedulingPolicy" firstNonSpace="true" attribute="Option Name" context="cpu scheduling policy"/>
1681         <WordDetect String="CPUSchedulingPriority" firstNonSpace="true" attribute="Option Name" context="cpu scheduling priority"/>
1682         <WordDetect String="CPUSchedulingResetOnFork" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1683         <WordDetect String="CacheDirectoryMode" firstNonSpace="true" attribute="Option Name" context="file mode"/>
1684         <WordDetect String="CapabilityBoundingSet" firstNonSpace="true" attribute="Option Name" context="~ capability list"/>
1685         <WordDetect String="ConfigurationDirectoryMode" firstNonSpace="true" attribute="Option Name" context="file mode"/>
1686         <WordDetect String="CoredumpFilter" firstNonSpace="true" attribute="Option Name" context="memory mapping"/>
1687         <WordDetect String="DynamicUser" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1688         <WordDetect String="Environment" firstNonSpace="true" attribute="Option Name" context="variable assignment"/>
1689         <WordDetect String="EnvironmentFile" firstNonSpace="true" attribute="Option Name" context="- text"/>
1690         <WordDetect String="ExecPaths" firstNonSpace="true" attribute="Option Name" context="-+/path list"/>
1691         <WordDetect String="Group" firstNonSpace="true" attribute="Option Name" context="group user"/>
1692         <WordDetect String="IOSchedulingClass" firstNonSpace="true" attribute="Option Name" context="io scheduling class"/>
1693         <WordDetect String="IOSchedulingPriority" firstNonSpace="true" attribute="Option Name" context="io scheduling priority"/>
1694         <WordDetect String="IgnoreSIGPIPE" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1695         <WordDetect String="KeyringMode" firstNonSpace="true" attribute="Option Name" context="keyring mode"/>
1696         <WordDetect String="LimitAS" firstNonSpace="true" attribute="Option Name" context="limit bytes"/>
1697         <WordDetect String="LimitCORE" firstNonSpace="true" attribute="Option Name" context="limit bytes"/>
1698         <WordDetect String="LimitCPU" firstNonSpace="true" attribute="Option Name" context="limit time span"/>
1699         <WordDetect String="LimitDATA" firstNonSpace="true" attribute="Option Name" context="limit bytes"/>
1700         <WordDetect String="LimitFSIZE" firstNonSpace="true" attribute="Option Name" context="limit bytes"/>
1701         <WordDetect String="LimitLOCKS" firstNonSpace="true" attribute="Option Name" context="limit number"/>
1702         <WordDetect String="LimitMEMLOCK" firstNonSpace="true" attribute="Option Name" context="limit bytes"/>
1703         <WordDetect String="LimitMSGQUEUE" firstNonSpace="true" attribute="Option Name" context="limit bytes"/>
1704         <WordDetect String="LimitNICE" firstNonSpace="true" attribute="Option Name" context="limit nice level"/>
1705         <WordDetect String="LimitNOFILE" firstNonSpace="true" attribute="Option Name" context="limit number"/>
1706         <WordDetect String="LimitNPROC" firstNonSpace="true" attribute="Option Name" context="limit number"/>
1707         <WordDetect String="LimitRSS" firstNonSpace="true" attribute="Option Name" context="limit bytes"/>
1708         <WordDetect String="LimitRTPRIO" firstNonSpace="true" attribute="Option Name" context="limit number"/>
1709         <WordDetect String="LimitRTTIME" firstNonSpace="true" attribute="Option Name" context="limit time span"/>
1710         <WordDetect String="LimitSIGPENDING" firstNonSpace="true" attribute="Option Name" context="limit number"/>
1711         <WordDetect String="LimitSTACK" firstNonSpace="true" attribute="Option Name" context="limit bytes"/>
1712         <WordDetect String="LockPersonality" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1713         <WordDetect String="LogExtraFields" firstNonSpace="true" attribute="Option Name" context="variable assignment"/>
1714         <WordDetect String="LogFilterPatterns" firstNonSpace="true" attribute="Option Name" context="~ text"/>
1715         <WordDetect String="LogLevelMax" firstNonSpace="true" attribute="Option Name" context="log level"/>
1716         <WordDetect String="LogRateLimitBurst" firstNonSpace="true" attribute="Option Name" context="cardinal"/>
1717         <WordDetect String="LogRateLimitIntervalSec" firstNonSpace="true" attribute="Option Name" context="time span"/>
1718         <WordDetect String="LogsDirectoryMode" firstNonSpace="true" attribute="Option Name" context="file mode"/>
1719         <WordDetect String="MemoryDenyWriteExecute" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1720         <WordDetect String="MemoryKSM" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1721         <WordDetect String="MountAPIVFS" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1722         <WordDetect String="MountFlags" firstNonSpace="true" attribute="Option Name" context="mount flag"/>
1723         <WordDetect String="NUMAMask" firstNonSpace="true" attribute="Option Name" context="numa mask"/>
1724         <WordDetect String="NUMAPolicy" firstNonSpace="true" attribute="Option Name" context="numa policy"/>
1725         <WordDetect String="Nice" firstNonSpace="true" attribute="Option Name" context="nice level"/>
1726         <WordDetect String="NoExecPaths" firstNonSpace="true" attribute="Option Name" context="-+/path list"/>
1727         <WordDetect String="NoNewPrivileges" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1728         <WordDetect String="OOMScoreAdjust" firstNonSpace="true" attribute="Option Name" context="oom score adjust"/>
1729         <WordDetect String="Personality" firstNonSpace="true" attribute="Option Name" context="personality"/>
1730         <WordDetect String="PrivateDevices" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1731         <WordDetect String="PrivateIPC" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1732         <WordDetect String="PrivateMounts" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1733         <WordDetect String="PrivateNetwork" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1734         <WordDetect String="PrivateTmp" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1735         <WordDetect String="PrivateUsers" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1736         <WordDetect String="ProcSubset" firstNonSpace="true" attribute="Option Name" context="proc subset"/>
1737         <WordDetect String="ProtectClock" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1738         <WordDetect String="ProtectControlGroups" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1739         <WordDetect String="ProtectHome" firstNonSpace="true" attribute="Option Name" context="protect home"/>
1740         <WordDetect String="ProtectHostname" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1741         <WordDetect String="ProtectKernelLogs" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1742         <WordDetect String="ProtectKernelModules" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1743         <WordDetect String="ProtectKernelTunables" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1744         <WordDetect String="ProtectSystem" firstNonSpace="true" attribute="Option Name" context="protect system"/>
1745         <WordDetect String="ReadWritePaths" firstNonSpace="true" attribute="Option Name" context="-+/path list"/>
1746         <WordDetect String="RemoveIPC" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1747         <WordDetect String="RestrictAddressFamilies" firstNonSpace="true" attribute="Option Name" context="~ address family list"/>
1748         <WordDetect String="RestrictFileSystems" firstNonSpace="true" attribute="Option Name" context="~ fs type set list"/>
1749         <WordDetect String="RestrictNamespaces" firstNonSpace="true" attribute="Option Name" context="~ namespace list"/>
1750         <WordDetect String="RestrictRealtime" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1751         <WordDetect String="RestrictSUIDSGID" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1752         <WordDetect String="RootEphemeral" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1753         <WordDetect String="RootHash" firstNonSpace="true" attribute="Option Name" context="hex"/>
1754         <WordDetect String="RuntimeDirectoryMode" firstNonSpace="true" attribute="Option Name" context="file mode"/>
1755         <WordDetect String="RuntimeDirectoryPreserve" firstNonSpace="true" attribute="Option Name" context="runtime directory preserve"/>
1756         <WordDetect String="SELinuxContext" firstNonSpace="true" attribute="Option Name" context="- text"/>
1757         <WordDetect String="SecureBits" firstNonSpace="true" attribute="Option Name" context="secure bits list"/>
1758         <WordDetect String="SetLoginEnvironment" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1759         <WordDetect String="SmackProcessLabel" firstNonSpace="true" attribute="Option Name" context="- text"/>
1760         <WordDetect String="StandardError" firstNonSpace="true" attribute="Option Name" context="standard output"/>
1761         <WordDetect String="StandardInput" firstNonSpace="true" attribute="Option Name" context="standard input"/>
1762         <WordDetect String="StandardOutput" firstNonSpace="true" attribute="Option Name" context="standard output"/>
1763         <WordDetect String="StateDirectoryMode" firstNonSpace="true" attribute="Option Name" context="file mode"/>
1764         <WordDetect String="SupplementaryGroups" firstNonSpace="true" attribute="Option Name" context="group list"/>
1765         <WordDetect String="SyslogFacility" firstNonSpace="true" attribute="Option Name" context="log facility"/>
1766         <WordDetect String="SyslogLevel" firstNonSpace="true" attribute="Option Name" context="log level"/>
1767         <WordDetect String="SyslogLevelPrefix" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1768         <WordDetect String="SystemCallArchitectures" firstNonSpace="true" attribute="Option Name" context="system call architecture"/>
1769         <WordDetect String="SystemCallErrorNumber" firstNonSpace="true" attribute="Option Name" context="system call errno"/>
1770         <WordDetect String="SystemCallFilter" firstNonSpace="true" attribute="Option Name" context="~ system call filter list"/>
1771         <WordDetect String="SystemCallLog" firstNonSpace="true" attribute="Option Name" context="~ text"/>
1772         <WordDetect String="TTYColumns" firstNonSpace="true" attribute="Option Name" context="cardinal"/>
1773         <WordDetect String="TTYReset" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1774         <WordDetect String="TTYRows" firstNonSpace="true" attribute="Option Name" context="cardinal"/>
1775         <WordDetect String="TTYVHangup" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1776         <WordDetect String="TTYVTDisallocate" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1777         <WordDetect String="TimeoutCleanSec" firstNonSpace="true" attribute="Option Name" context="timeout"/>
1778         <WordDetect String="TimerSlackNSec" firstNonSpace="true" attribute="Option Name" context="time span"/>
1779         <WordDetect String="UMask" firstNonSpace="true" attribute="Option Name" context="file mode"/>
1780         <WordDetect String="User" firstNonSpace="true" attribute="Option Name" context="group user"/>
1781         <WordDetect String="UtmpMode" firstNonSpace="true" attribute="Option Name" context="utmp mode"/>
1782         <WordDetect String="WorkingDirectory" firstNonSpace="true" attribute="Option Name" context="- working directory"/>
1783       </context>
1784       <context name="options install" attribute="Normal" lineEndContext="#stay">
1785         <WordDetect String="Alias" firstNonSpace="true" attribute="Option Name" context="unit list"/>
1786         <WordDetect String="Also" firstNonSpace="true" attribute="Option Name" context="unit list"/>
1787         <WordDetect String="DefaultInstance" firstNonSpace="true" attribute="Option Name" context="text"/>
1788         <WordDetect String="RequiredBy" firstNonSpace="true" attribute="Option Name" context="unit list"/>
1789         <WordDetect String="UpheldBy" firstNonSpace="true" attribute="Option Name" context="unit list"/>
1790         <WordDetect String="WantedBy" firstNonSpace="true" attribute="Option Name" context="unit list"/>
1791       </context>
1792       <context name="options kill" attribute="Normal" lineEndContext="#stay">
1793         <WordDetect String="FinalKillSignal" firstNonSpace="true" attribute="Option Name" context="signal"/>
1794         <WordDetect String="KillMode" firstNonSpace="true" attribute="Option Name" context="kill mode"/>
1795         <WordDetect String="KillSignal" firstNonSpace="true" attribute="Option Name" context="signal"/>
1796         <WordDetect String="RestartKillSignal" firstNonSpace="true" attribute="Option Name" context="signal"/>
1797         <WordDetect String="SendSIGHUP" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1798         <WordDetect String="SendSIGKILL" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1799         <WordDetect String="WatchdogSignal" firstNonSpace="true" attribute="Option Name" context="signal"/>
1800       </context>
1801       <context name="options mount" attribute="Normal" lineEndContext="#stay">
1802         <WordDetect String="DirectoryMode" firstNonSpace="true" attribute="Option Name" context="file mode"/>
1803         <WordDetect String="ForceUnmount" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1804         <WordDetect String="LazyUnmount" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1805         <WordDetect String="Options" firstNonSpace="true" attribute="Option Name" context="text"/>
1806         <WordDetect String="ReadWriteOnly" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1807         <WordDetect String="SloppyOptions" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1808         <WordDetect String="TimeoutSec" firstNonSpace="true" attribute="Option Name" context="time span"/>
1809         <WordDetect String="Type" firstNonSpace="true" attribute="Option Name" context="fs type"/>
1810         <WordDetect String="What" firstNonSpace="true" attribute="Option Name" context="text"/>
1811         <WordDetect String="Where" firstNonSpace="true" attribute="Option Name" context="text"/>
1812       </context>
1813       <context name="options path" attribute="Normal" lineEndContext="#stay">
1814         <WordDetect String="DirectoryMode" firstNonSpace="true" attribute="Option Name" context="file mode"/>
1815         <WordDetect String="DirectoryNotEmpty" firstNonSpace="true" attribute="Option Name" context="text"/>
1816         <WordDetect String="MakeDirectory" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1817         <WordDetect String="PathChanged" firstNonSpace="true" attribute="Option Name" context="text"/>
1818         <WordDetect String="PathExists" firstNonSpace="true" attribute="Option Name" context="text"/>
1819         <WordDetect String="PathExistsGlob" firstNonSpace="true" attribute="Option Name" context="text glob"/>
1820         <WordDetect String="PathModified" firstNonSpace="true" attribute="Option Name" context="text"/>
1821         <WordDetect String="TriggerLimitBurst" firstNonSpace="true" attribute="Option Name" context="cardinal"/>
1822         <WordDetect String="TriggerLimitIntervalSec" firstNonSpace="true" attribute="Option Name" context="time span"/>
1823         <WordDetect String="Unit" firstNonSpace="true" attribute="Option Name" context="unit"/>
1824       </context>
1825       <context name="options resource-control" attribute="Normal" lineEndContext="#stay">
1826         <keyword String="options resource-control" firstNonSpace="true" attribute="Option Name" context="text"/>
1827         <WordDetect String="AllowedCPUs" firstNonSpace="true" attribute="Option Name" context="cpu index list"/>
1828         <WordDetect String="AllowedMemoryNodes" firstNonSpace="true" attribute="Option Name" context="cpu index list"/>
1829         <WordDetect String="BPFProgram" firstNonSpace="true" attribute="Option Name" context="bpf program"/>
1830         <WordDetect String="CPUAccounting" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1831         <WordDetect String="CPUQuota" firstNonSpace="true" attribute="Option Name" context="percent"/>
1832         <WordDetect String="CPUQuotaPeriodSec" firstNonSpace="true" attribute="Option Name" context="time span"/>
1833         <WordDetect String="CPUWeight" firstNonSpace="true" attribute="Option Name" context="cpu weight"/>
1834         <WordDetect String="CoredumpReceive" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1835         <WordDetect String="DefaultStartupMemoryLow" firstNonSpace="true" attribute="Option Name" context="cardinal %KMGT infinity"/>
1836         <WordDetect String="Delegate" firstNonSpace="true" attribute="Option Name" context="delegate"/>
1837         <WordDetect String="DevicePolicy" firstNonSpace="true" attribute="Option Name" context="device policy"/>
1838         <WordDetect String="DisableControllers" firstNonSpace="true" attribute="Option Name" context="controller list"/>
1839         <WordDetect String="IOAccounting" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1840         <WordDetect String="IODeviceLatencyTargetSec" firstNonSpace="true" attribute="Option Name" context="device time span"/>
1841         <WordDetect String="IODeviceWeight" firstNonSpace="true" attribute="Option Name" context="weight"/>
1842         <WordDetect String="IOReadBandwidthMax" firstNonSpace="true" attribute="Option Name" context="device cardinal KMGT"/>
1843         <WordDetect String="IOReadIOPSMax" firstNonSpace="true" attribute="Option Name" context="device cardinal KMGT"/>
1844         <WordDetect String="IOWeight" firstNonSpace="true" attribute="Option Name" context="weight"/>
1845         <WordDetect String="IOWriteBandwidthMax" firstNonSpace="true" attribute="Option Name" context="device cardinal KMGT"/>
1846         <WordDetect String="IOWriteIOPSMax" firstNonSpace="true" attribute="Option Name" context="device cardinal KMGT"/>
1847         <WordDetect String="IPAccounting" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1848         <WordDetect String="IPAddressAllow" firstNonSpace="true" attribute="Option Name" context="ip address list"/>
1849         <WordDetect String="IPAddressDeny" firstNonSpace="true" attribute="Option Name" context="ip address list"/>
1850         <WordDetect String="ManagedOOMMemoryPressure" firstNonSpace="true" attribute="Option Name" context="oom behavior"/>
1851         <WordDetect String="ManagedOOMMemoryPressureLimit" firstNonSpace="true" attribute="Option Name" context="percent"/>
1852         <WordDetect String="ManagedOOMPreference" firstNonSpace="true" attribute="Option Name" context="oom preference"/>
1853         <WordDetect String="ManagedOOMSwap" firstNonSpace="true" attribute="Option Name" context="oom behavior"/>
1854         <WordDetect String="MemoryAccounting" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1855         <WordDetect String="MemoryHigh" firstNonSpace="true" attribute="Option Name" context="cardinal %KMGT infinity"/>
1856         <WordDetect String="MemoryLow" firstNonSpace="true" attribute="Option Name" context="cardinal %KMGT infinity"/>
1857         <WordDetect String="MemoryMax" firstNonSpace="true" attribute="Option Name" context="cardinal %KMGT infinity"/>
1858         <WordDetect String="MemoryMin" firstNonSpace="true" attribute="Option Name" context="cardinal %KMGT infinity"/>
1859         <WordDetect String="MemoryPressureThresholdSec" firstNonSpace="true" attribute="Option Name" context="time span"/>
1860         <WordDetect String="MemoryPressureWatch" firstNonSpace="true" attribute="Option Name" context="memory pressure watch"/>
1861         <WordDetect String="MemorySwapMax" firstNonSpace="true" attribute="Option Name" context="cardinal KMGT infinity"/>
1862         <WordDetect String="MemoryZSwapMax" firstNonSpace="true" attribute="Option Name" context="cardinal KMGT infinity"/>
1863         <WordDetect String="NFTSet" firstNonSpace="true" attribute="Option Name" context="nft set list"/>
1864         <WordDetect String="RestrictNetworkInterfaces" firstNonSpace="true" attribute="Option Name" context="~ text"/>
1865         <WordDetect String="Slice" firstNonSpace="true" attribute="Option Name" context="unit slice"/>
1866         <WordDetect String="SocketBindAllow" firstNonSpace="true" attribute="Option Name" context="socket bind rule"/>
1867         <WordDetect String="SocketBindDeny" firstNonSpace="true" attribute="Option Name" context="socket bind rule"/>
1868         <WordDetect String="StartupAllowedCPUs" firstNonSpace="true" attribute="Option Name" context="cpu index list"/>
1869         <WordDetect String="StartupAllowedMemoryNodes" firstNonSpace="true" attribute="Option Name" context="cpu index list"/>
1870         <WordDetect String="StartupCPUWeight" firstNonSpace="true" attribute="Option Name" context="cpu weight"/>
1871         <WordDetect String="StartupIOWeight" firstNonSpace="true" attribute="Option Name" context="weight"/>
1872         <WordDetect String="StartupMemoryHigh" firstNonSpace="true" attribute="Option Name" context="cardinal %KMGT infinity"/>
1873         <WordDetect String="StartupMemoryLow" firstNonSpace="true" attribute="Option Name" context="cardinal %KMGT infinity"/>
1874         <WordDetect String="StartupMemoryMax" firstNonSpace="true" attribute="Option Name" context="cardinal %KMGT infinity"/>
1875         <WordDetect String="StartupMemorySwapMax" firstNonSpace="true" attribute="Option Name" context="cardinal %KMGT infinity"/>
1876         <WordDetect String="StartupMemoryZSwapMax" firstNonSpace="true" attribute="Option Name" context="cardinal %KMGT infinity"/>
1877         <WordDetect String="TasksAccounting" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1878         <WordDetect String="TasksMax" firstNonSpace="true" attribute="Option Name" context="cardinal % infinity"/>
1879       </context>
1880       <context name="options service" attribute="Normal" lineEndContext="#stay">
1881         <keyword String="options service" firstNonSpace="true" attribute="Option Name" context="text"/>
1882         <WordDetect String="ExecCondition" firstNonSpace="true" attribute="Option Name" context="exec"/>
1883         <WordDetect String="ExecReload" firstNonSpace="true" attribute="Option Name" context="exec"/>
1884         <WordDetect String="ExecStart" firstNonSpace="true" attribute="Option Name" context="exec"/>
1885         <WordDetect String="ExecStartPost" firstNonSpace="true" attribute="Option Name" context="exec"/>
1886         <WordDetect String="ExecStartPre" firstNonSpace="true" attribute="Option Name" context="exec"/>
1887         <WordDetect String="ExecStop" firstNonSpace="true" attribute="Option Name" context="exec"/>
1888         <WordDetect String="ExecStopPost" firstNonSpace="true" attribute="Option Name" context="exec"/>
1889         <WordDetect String="ExitType" firstNonSpace="true" attribute="Option Name" context="exit type"/>
1890         <WordDetect String="FileDescriptorStoreMax" firstNonSpace="true" attribute="Option Name" context="cardinal"/>
1891         <WordDetect String="FileDescriptorStorePreserve" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1892         <WordDetect String="GuessMainPID" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1893         <WordDetect String="NonBlocking" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1894         <WordDetect String="NotifyAccess" firstNonSpace="true" attribute="Option Name" context="notify access"/>
1895         <WordDetect String="OOMPolicy" firstNonSpace="true" attribute="Option Name" context="oom policy"/>
1896         <WordDetect String="OpenFile" firstNonSpace="true" attribute="Option Name" context="open file"/>
1897         <WordDetect String="ReloadSignal" firstNonSpace="true" attribute="Option Name" context="signal"/>
1898         <WordDetect String="RemainAfterExit" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1899         <WordDetect String="Restart" firstNonSpace="true" attribute="Option Name" context="restart"/>
1900         <WordDetect String="RestartForceExitStatus" firstNonSpace="true" attribute="Option Name" context="exit status signal"/>
1901         <WordDetect String="RestartMaxDelaySec" firstNonSpace="true" attribute="Option Name" context="time span"/>
1902         <WordDetect String="RestartMode" firstNonSpace="true" attribute="Option Name" context="restart mode"/>
1903         <WordDetect String="RestartPreventExitStatus" firstNonSpace="true" attribute="Option Name" context="exit status signal"/>
1904         <WordDetect String="RestartSec" firstNonSpace="true" attribute="Option Name" context="time span"/>
1905         <WordDetect String="RestartSteps" firstNonSpace="true" attribute="Option Name" context="cardinal"/>
1906         <WordDetect String="RootDirectoryStartOnly" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1907         <WordDetect String="RuntimeMaxSec" firstNonSpace="true" attribute="Option Name" context="timeout"/>
1908         <WordDetect String="RuntimeRandomizedExtraSec" firstNonSpace="true" attribute="Option Name" context="cardinal"/>
1909         <WordDetect String="Sockets" firstNonSpace="true" attribute="Option Name" context="unit list socket"/>
1910         <WordDetect String="SuccessExitStatus" firstNonSpace="true" attribute="Option Name" context="exit status"/>
1911         <WordDetect String="TimeoutAbortSec" firstNonSpace="true" attribute="Option Name" context="timeout"/>
1912         <WordDetect String="TimeoutSec" firstNonSpace="true" attribute="Option Name" context="timeout"/>
1913         <WordDetect String="TimeoutStartFailureMode" firstNonSpace="true" attribute="Option Name" context="failure mode"/>
1914         <WordDetect String="TimeoutStartSec" firstNonSpace="true" attribute="Option Name" context="timeout"/>
1915         <WordDetect String="TimeoutStopFailureMode" firstNonSpace="true" attribute="Option Name" context="failure mode"/>
1916         <WordDetect String="TimeoutStopSec" firstNonSpace="true" attribute="Option Name" context="timeout"/>
1917         <WordDetect String="Type" firstNonSpace="true" attribute="Option Name" context="service type"/>
1918         <WordDetect String="WatchdogSec" firstNonSpace="true" attribute="Option Name" context="timeout"/>
1919       </context>
1920       <context name="options socket" attribute="Normal" lineEndContext="#stay">
1921         <keyword String="options socket" firstNonSpace="true" attribute="Option Name" context="text"/>
1922         <WordDetect String="Accept" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1923         <WordDetect String="Backlog" firstNonSpace="true" attribute="Option Name" context="cardinal"/>
1924         <WordDetect String="BindIPv6Only" firstNonSpace="true" attribute="Option Name" context="ip bind"/>
1925         <WordDetect String="Broadcast" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1926         <WordDetect String="DeferAcceptSec" firstNonSpace="true" attribute="Option Name" context="time span"/>
1927         <WordDetect String="DirectoryMode" firstNonSpace="true" attribute="Option Name" context="file mode"/>
1928         <WordDetect String="ExecStartPost" firstNonSpace="true" attribute="Option Name" context="exec"/>
1929         <WordDetect String="ExecStartPre" firstNonSpace="true" attribute="Option Name" context="exec"/>
1930         <WordDetect String="ExecStopPost" firstNonSpace="true" attribute="Option Name" context="exec"/>
1931         <WordDetect String="ExecStopPre" firstNonSpace="true" attribute="Option Name" context="exec"/>
1932         <WordDetect String="FlushPending" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1933         <WordDetect String="FreeBind" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1934         <WordDetect String="IPTOS" firstNonSpace="true" attribute="Option Name" context="ip tos"/>
1935         <WordDetect String="IPTTL" firstNonSpace="true" attribute="Option Name" context="cardinal"/>
1936         <WordDetect String="KeepAlive" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1937         <WordDetect String="KeepAliveIntervalSec" firstNonSpace="true" attribute="Option Name" context="time span"/>
1938         <WordDetect String="KeepAliveProbes" firstNonSpace="true" attribute="Option Name" context="cardinal"/>
1939         <WordDetect String="KeepAliveTimeSec" firstNonSpace="true" attribute="Option Name" context="time span"/>
1940         <WordDetect String="Mark" firstNonSpace="true" attribute="Option Name" context="cardinal"/>
1941         <WordDetect String="MaxConnections" firstNonSpace="true" attribute="Option Name" context="cardinal"/>
1942         <WordDetect String="MaxConnectionsPerSource" firstNonSpace="true" attribute="Option Name" context="cardinal"/>
1943         <WordDetect String="MessageQueueMaxMessages" firstNonSpace="true" attribute="Option Name" context="cardinal"/>
1944         <WordDetect String="MessageQueueMessageSize" firstNonSpace="true" attribute="Option Name" context="cardinal"/>
1945         <WordDetect String="NoDelay" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1946         <WordDetect String="PassCredentials" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1947         <WordDetect String="PassPacketInfo" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1948         <WordDetect String="PassSecurity" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1949         <WordDetect String="PipeSize" firstNonSpace="true" attribute="Option Name" context="cardinal KMGT"/>
1950         <WordDetect String="PollLimitBurst" firstNonSpace="true" attribute="Option Name" context="cardinal"/>
1951         <WordDetect String="PollLimitIntervalSec" firstNonSpace="true" attribute="Option Name" context="time span"/>
1952         <WordDetect String="Priority" firstNonSpace="true" attribute="Option Name" context="cardinal"/>
1953         <WordDetect String="ReceiveBuffer" firstNonSpace="true" attribute="Option Name" context="cardinal KMGT"/>
1954         <WordDetect String="RemoveOnStop" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1955         <WordDetect String="ReusePort" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1956         <WordDetect String="SELinuxContextFromNet" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1957         <WordDetect String="SendBuffer" firstNonSpace="true" attribute="Option Name" context="cardinal KMGT"/>
1958         <WordDetect String="Service" firstNonSpace="true" attribute="Option Name" context="unit service"/>
1959         <WordDetect String="SocketGroup" firstNonSpace="true" attribute="Option Name" context="group user"/>
1960         <WordDetect String="SocketMode" firstNonSpace="true" attribute="Option Name" context="file mode"/>
1961         <WordDetect String="SocketProtocol" firstNonSpace="true" attribute="Option Name" context="socket protocol"/>
1962         <WordDetect String="SocketUser" firstNonSpace="true" attribute="Option Name" context="group user"/>
1963         <WordDetect String="TimeoutSec" firstNonSpace="true" attribute="Option Name" context="timeout"/>
1964         <WordDetect String="Timestamping" firstNonSpace="true" attribute="Option Name" context="timestamping"/>
1965         <WordDetect String="Transparent" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1966         <WordDetect String="TriggerLimitBurst" firstNonSpace="true" attribute="Option Name" context="cardinal"/>
1967         <WordDetect String="TriggerLimitIntervalSec" firstNonSpace="true" attribute="Option Name" context="time span"/>
1968         <WordDetect String="Writable" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1969       </context>
1970       <context name="options swap" attribute="Normal" lineEndContext="#stay">
1971         <keyword String="options swap" firstNonSpace="true" attribute="Option Name" context="text"/>
1972         <WordDetect String="Priority" firstNonSpace="true" attribute="Option Name" context="cardinal"/>
1973         <WordDetect String="TimeoutSec" firstNonSpace="true" attribute="Option Name" context="timeout"/>
1974       </context>
1975       <context name="options timer" attribute="Normal" lineEndContext="#stay">
1976         <WordDetect String="AccuracySec" firstNonSpace="true" attribute="Option Name" context="time span"/>
1977         <WordDetect String="FixedRandomDelay" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1978         <WordDetect String="OnActiveSec" firstNonSpace="true" attribute="Option Name" context="time span"/>
1979         <WordDetect String="OnBootSec" firstNonSpace="true" attribute="Option Name" context="time span"/>
1980         <WordDetect String="OnCalendar" firstNonSpace="true" attribute="Option Name" context="calendar"/>
1981         <WordDetect String="OnClockChange" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1982         <WordDetect String="OnStartupSec" firstNonSpace="true" attribute="Option Name" context="time span"/>
1983         <WordDetect String="OnTimezoneChange" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1984         <WordDetect String="OnUnitActiveSec" firstNonSpace="true" attribute="Option Name" context="time span"/>
1985         <WordDetect String="OnUnitInactiveSec" firstNonSpace="true" attribute="Option Name" context="time span"/>
1986         <WordDetect String="Persistent" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1987         <WordDetect String="RandomizedDelaySec" firstNonSpace="true" attribute="Option Name" context="time span"/>
1988         <WordDetect String="RemainAfterElapse" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1989         <WordDetect String="Unit" firstNonSpace="true" attribute="Option Name" context="unit"/>
1990         <WordDetect String="WakeSystem" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1991       </context>
1992       <context name="options unit" attribute="Normal" lineEndContext="#stay">
1993         <keyword String="options unit" firstNonSpace="true" attribute="Option Name" context="text"/>
1994         <WordDetect String="After" firstNonSpace="true" attribute="Option Name" context="unit list"/>
1995         <WordDetect String="AllowIsolate" firstNonSpace="true" attribute="Option Name" context="boolean"/>
1996         <WordDetect String="AssertACPower" firstNonSpace="true" attribute="Option Name" context="AC boolean"/>
1997         <WordDetect String="AssertArchitecture" firstNonSpace="true" attribute="Option Name" context="AC architecture"/>
1998         <WordDetect String="AssertCPUFeature" firstNonSpace="true" attribute="Option Name" context="AC cpu feature"/>
1999         <WordDetect String="AssertCPUPressure" firstNonSpace="true" attribute="Option Name" context="AC threshold"/>
2000         <WordDetect String="AssertCPUs" firstNonSpace="true" attribute="Option Name" context="AC cardinal"/>
2001         <WordDetect String="AssertCapability" firstNonSpace="true" attribute="Option Name" context="AC capability"/>
2002         <WordDetect String="AssertControlGroupController" firstNonSpace="true" attribute="Option Name" context="AC controller cg"/>
2003         <WordDetect String="AssertDirectoryNotEmpty" firstNonSpace="true" attribute="Option Name" context="AC text"/>
2004         <WordDetect String="AssertEnvironment" firstNonSpace="true" attribute="Option Name" context="AC text"/>
2005         <WordDetect String="AssertFileIsExecutable" firstNonSpace="true" attribute="Option Name" context="AC text"/>
2006         <WordDetect String="AssertFileNotEmpty" firstNonSpace="true" attribute="Option Name" context="AC text"/>
2007         <WordDetect String="AssertFirstBoot" firstNonSpace="true" attribute="Option Name" context="AC boolean"/>
2008         <WordDetect String="AssertGroup" firstNonSpace="true" attribute="Option Name" context="AC group"/>
2009         <WordDetect String="AssertHost" firstNonSpace="true" attribute="Option Name" context="AC text *"/>
2010         <WordDetect String="AssertIOPressure" firstNonSpace="true" attribute="Option Name" context="AC threshold"/>
2011         <WordDetect String="AssertKernelCommandLine" firstNonSpace="true" attribute="Option Name" context="AC text"/>
2012         <WordDetect String="AssertKernelVersion" firstNonSpace="true" attribute="Option Name" context="AC text *"/>
2013         <WordDetect String="AssertMemory" firstNonSpace="true" attribute="Option Name" context="AC cardinal"/>
2014         <WordDetect String="AssertMemoryPressure" firstNonSpace="true" attribute="Option Name" context="AC threshold"/>
2015         <WordDetect String="AssertNeedsUpdate" firstNonSpace="true" attribute="Option Name" context="AC text"/>
2016         <WordDetect String="AssertOSRelease" firstNonSpace="true" attribute="Option Name" context="AC text"/>
2017         <WordDetect String="AssertPathExists" firstNonSpace="true" attribute="Option Name" context="AC text"/>
2018         <WordDetect String="AssertPathExistsGlob" firstNonSpace="true" attribute="Option Name" context="AC text glob"/>
2019         <WordDetect String="AssertPathIsDirectory" firstNonSpace="true" attribute="Option Name" context="AC text"/>
2020         <WordDetect String="AssertPathIsEncrypted" firstNonSpace="true" attribute="Option Name" context="AC text"/>
2021         <WordDetect String="AssertPathIsMountPoint" firstNonSpace="true" attribute="Option Name" context="AC text"/>
2022         <WordDetect String="AssertPathIsReadWrite" firstNonSpace="true" attribute="Option Name" context="AC text"/>
2023         <WordDetect String="AssertPathIsSymbolicLink" firstNonSpace="true" attribute="Option Name" context="AC text"/>
2024         <WordDetect String="AssertSecurity" firstNonSpace="true" attribute="Option Name" context="AC security"/>
2025         <WordDetect String="AssertUser" firstNonSpace="true" attribute="Option Name" context="AC user"/>
2026         <WordDetect String="AssertVirtualization" firstNonSpace="true" attribute="Option Name" context="AC virtualization"/>
2027         <WordDetect String="Before" firstNonSpace="true" attribute="Option Name" context="unit list"/>
2028         <WordDetect String="BindsTo" firstNonSpace="true" attribute="Option Name" context="unit list"/>
2029         <WordDetect String="CollectMode" firstNonSpace="true" attribute="Option Name" context="collect mode"/>
2030         <WordDetect String="ConditionACPower" firstNonSpace="true" attribute="Option Name" context="AC boolean"/>
2031         <WordDetect String="ConditionArchitecture" firstNonSpace="true" attribute="Option Name" context="AC architecture"/>
2032         <WordDetect String="ConditionCPUFeature" firstNonSpace="true" attribute="Option Name" context="AC cpu feature"/>
2033         <WordDetect String="ConditionCPUPressure" firstNonSpace="true" attribute="Option Name" context="AC threshold"/>
2034         <WordDetect String="ConditionCPUs" firstNonSpace="true" attribute="Option Name" context="AC cardinal"/>
2035         <WordDetect String="ConditionCapability" firstNonSpace="true" attribute="Option Name" context="AC capability"/>
2036         <WordDetect String="ConditionControlGroupController" firstNonSpace="true" attribute="Option Name" context="AC controller cg"/>
2037         <WordDetect String="ConditionDirectoryNotEmpty" firstNonSpace="true" attribute="Option Name" context="AC text"/>
2038         <WordDetect String="ConditionEnvironment" firstNonSpace="true" attribute="Option Name" context="AC text"/>
2039         <WordDetect String="ConditionFileIsExecutable" firstNonSpace="true" attribute="Option Name" context="AC text"/>
2040         <WordDetect String="ConditionFileNotEmpty" firstNonSpace="true" attribute="Option Name" context="AC text"/>
2041         <WordDetect String="ConditionFirmware" firstNonSpace="true" attribute="Option Name" context="AC firmware"/>
2042         <WordDetect String="ConditionFirstBoot" firstNonSpace="true" attribute="Option Name" context="AC boolean"/>
2043         <WordDetect String="ConditionGroup" firstNonSpace="true" attribute="Option Name" context="AC group"/>
2044         <WordDetect String="ConditionHost" firstNonSpace="true" attribute="Option Name" context="AC text *"/>
2045         <WordDetect String="ConditionIOPressure" firstNonSpace="true" attribute="Option Name" context="AC threshold"/>
2046         <WordDetect String="ConditionKernelCommandLine" firstNonSpace="true" attribute="Option Name" context="AC text"/>
2047         <WordDetect String="ConditionKernelVersion" firstNonSpace="true" attribute="Option Name" context="AC text *"/>
2048         <WordDetect String="ConditionMemory" firstNonSpace="true" attribute="Option Name" context="AC cardinal KMGT"/>
2049         <WordDetect String="ConditionMemoryPressure" firstNonSpace="true" attribute="Option Name" context="AC threshold"/>
2050         <WordDetect String="ConditionNeedsUpdate" firstNonSpace="true" attribute="Option Name" context="AC text"/>
2051         <WordDetect String="ConditionOSRelease" firstNonSpace="true" attribute="Option Name" context="AC text"/>
2052         <WordDetect String="ConditionPathExists" firstNonSpace="true" attribute="Option Name" context="AC text"/>
2053         <WordDetect String="ConditionPathExistsGlob" firstNonSpace="true" attribute="Option Name" context="AC text glob"/>
2054         <WordDetect String="ConditionPathIsDirectory" firstNonSpace="true" attribute="Option Name" context="AC text"/>
2055         <WordDetect String="ConditionPathIsEncrypted" firstNonSpace="true" attribute="Option Name" context="AC text"/>
2056         <WordDetect String="ConditionPathIsMountPoint" firstNonSpace="true" attribute="Option Name" context="AC text"/>
2057         <WordDetect String="ConditionPathIsReadWrite" firstNonSpace="true" attribute="Option Name" context="AC text"/>
2058         <WordDetect String="ConditionPathIsSymbolicLink" firstNonSpace="true" attribute="Option Name" context="AC text"/>
2059         <WordDetect String="ConditionSecurity" firstNonSpace="true" attribute="Option Name" context="AC security"/>
2060         <WordDetect String="ConditionUser" firstNonSpace="true" attribute="Option Name" context="AC user"/>
2061         <WordDetect String="ConditionVirtualization" firstNonSpace="true" attribute="Option Name" context="AC virtualization"/>
2062         <WordDetect String="Conflicts" firstNonSpace="true" attribute="Option Name" context="unit list"/>
2063         <WordDetect String="DefaultDependencies" firstNonSpace="true" attribute="Option Name" context="boolean"/>
2064         <WordDetect String="FailureAction" firstNonSpace="true" attribute="Option Name" context="action"/>
2065         <WordDetect String="FailureActionExitStatus" firstNonSpace="true" attribute="Option Name" context="cardinal"/>
2066         <WordDetect String="IgnoreOnIsolate" firstNonSpace="true" attribute="Option Name" context="boolean"/>
2067         <WordDetect String="JobRunningTimeoutSec" firstNonSpace="true" attribute="Option Name" context="timeout"/>
2068         <WordDetect String="JobTimeoutAction" firstNonSpace="true" attribute="Option Name" context="action"/>
2069         <WordDetect String="JobTimeoutSec" firstNonSpace="true" attribute="Option Name" context="timeout"/>
2070         <WordDetect String="JoinsNamespaceOf" firstNonSpace="true" attribute="Option Name" context="unit list"/>
2071         <WordDetect String="OnFailure" firstNonSpace="true" attribute="Option Name" context="unit list"/>
2072         <WordDetect String="OnFailureJobMode" firstNonSpace="true" attribute="Option Name" context="job mode"/>
2073         <WordDetect String="OnSuccess" firstNonSpace="true" attribute="Option Name" context="unit list"/>
2074         <WordDetect String="OnSuccessJobMode" firstNonSpace="true" attribute="Option Name" context="job mode"/>
2075         <WordDetect String="PartOf" firstNonSpace="true" attribute="Option Name" context="unit list"/>
2076         <WordDetect String="PropagatesReloadTo" firstNonSpace="true" attribute="Option Name" context="unit list"/>
2077         <WordDetect String="PropagatesStopTo" firstNonSpace="true" attribute="Option Name" context="unit list"/>
2078         <WordDetect String="RefuseManualStart" firstNonSpace="true" attribute="Option Name" context="boolean"/>
2079         <WordDetect String="RefuseManualStop" firstNonSpace="true" attribute="Option Name" context="boolean"/>
2080         <WordDetect String="ReloadPropagatedFrom" firstNonSpace="true" attribute="Option Name" context="unit list"/>
2081         <WordDetect String="Requires" firstNonSpace="true" attribute="Option Name" context="unit list"/>
2082         <WordDetect String="Requisite" firstNonSpace="true" attribute="Option Name" context="unit list"/>
2083         <WordDetect String="StartLimitAction" firstNonSpace="true" attribute="Option Name" context="action"/>
2084         <WordDetect String="StartLimitBurst" firstNonSpace="true" attribute="Option Name" context="cardinal"/>
2085         <WordDetect String="StartLimitIntervalSec" firstNonSpace="true" attribute="Option Name" context="cardinal"/>
2086         <WordDetect String="StopPropagatedFrom" firstNonSpace="true" attribute="Option Name" context="unit list"/>
2087         <WordDetect String="StopWhenUnneeded" firstNonSpace="true" attribute="Option Name" context="boolean"/>
2088         <WordDetect String="SuccessAction" firstNonSpace="true" attribute="Option Name" context="action"/>
2089         <WordDetect String="SuccessActionExitStatus" firstNonSpace="true" attribute="Option Name" context="cardinal"/>
2090         <WordDetect String="SurviveFinalKillSignal" firstNonSpace="true" attribute="Option Name" context="boolean"/>
2091         <WordDetect String="Upholds" firstNonSpace="true" attribute="Option Name" context="unit list"/>
2092         <WordDetect String="Wants" firstNonSpace="true" attribute="Option Name" context="unit list"/>
2093       </context>
2094       <!-- Contexts for sections. -->
2095       <context name="section automount" attribute="Normal" lineEndContext="#stay">
2096         <IncludeRules context="section"/>
2097         <IncludeRules context="options automount"/>
2098       </context>
2099       <context name="section install" attribute="Normal" lineEndContext="#stay">
2100         <IncludeRules context="section"/>
2101         <IncludeRules context="options install"/>
2102       </context>
2103       <context name="section mount" attribute="Normal" lineEndContext="#stay">
2104         <IncludeRules context="section"/>
2105         <IncludeRules context="options exec"/>
2106         <IncludeRules context="options kill"/>
2107         <IncludeRules context="options mount"/>
2108       </context>
2109       <context name="section path" attribute="Normal" lineEndContext="#stay">
2110         <IncludeRules context="section"/>
2111         <IncludeRules context="options path"/>
2112       </context>
2113       <context name="section service" attribute="Normal" lineEndContext="#stay">
2114         <IncludeRules context="section"/>
2115         <IncludeRules context="options exec"/>
2116         <IncludeRules context="options kill"/>
2117         <IncludeRules context="options resource-control"/>
2118         <IncludeRules context="options service"/>
2119       </context>
2120       <context name="section socket" attribute="Normal" lineEndContext="#stay">
2121         <IncludeRules context="section"/>
2122         <IncludeRules context="options exec"/>
2123         <IncludeRules context="options kill"/>
2124         <IncludeRules context="options socket"/>
2125       </context>
2126       <context name="section swap" attribute="Normal" lineEndContext="#stay">
2127         <IncludeRules context="section"/>
2128         <IncludeRules context="options exec"/>
2129         <IncludeRules context="options kill"/>
2130         <IncludeRules context="options swap"/>
2131       </context>
2132       <context name="section timer" attribute="Normal" lineEndContext="#stay">
2133         <IncludeRules context="section"/>
2134         <IncludeRules context="options timer"/>
2135       </context>
2136       <context name="section unit" attribute="Normal" lineEndContext="#stay">
2137         <IncludeRules context="section"/>
2138         <IncludeRules context="options unit"/>
2139       </context>
2140     </contexts>
2141     <itemDatas>
2142       <itemData name="Normal" defStyleNum="dsNormal"/>
2143       <itemData name="Comment" defStyleNum="dsComment"/>
2144       <itemData name="Constant" defStyleNum="dsConstant" spellChecking="false"/>
2145       <itemData name="Continuation" defStyleNum="dsControlFlow" spellChecking="false"/>
2146       <itemData name="Environment Variable" defStyleNum="dsVariable" spellChecking="false"/>
2147       <itemData name="Errno Name" defStyleNum="dsSpecialString" spellChecking="false"/>
2148       <itemData name="Errno Number" defStyleNum="dsDecVal" spellChecking="false"/>
2149       <itemData name="Escape" defStyleNum="dsSpecialChar" spellChecking="false"/>
2150       <itemData name="Extension" defStyleNum="dsNormal" italic="true" spellChecking="false"/>
2151       <itemData name="Extension Header" defStyleNum="dsKeyword" italic="true" spellChecking="false"/>
2152       <itemData name="File Descriptor Name" defStyleNum="dsNormal" italic="true" spellChecking="false"/>
2153       <itemData name="File Mode" defStyleNum="dsBaseN" spellChecking="false"/>
2154       <itemData name="Measurement Unit" defStyleNum="dsNormal" italic="true" spellChecking="false"/>
2155       <itemData name="Number" defStyleNum="dsDecVal" spellChecking="false"/>
2156       <itemData name="Number Hexadecimal" defStyleNum="dsBaseN" spellChecking="false"/>
2157       <!-- Styling identical to INI-files. -->
2158       <itemData name="Option Name" defStyleNum="dsDataType" spellChecking="false"/>
2159       <itemData name="Prefix" defStyleNum="dsSpecialString" spellChecking="false"/>
2160       <!-- Styling identical to INI-files. -->
2161       <itemData name="Section Header" defStyleNum="dsKeyword" spellChecking="false"/>
2162       <itemData name="Separator" defStyleNum="dsSpecialString" spellChecking="false"/>
2163       <itemData name="Specifier" defStyleNum="dsSpecialChar" spellChecking="false"/>
2164       <itemData name="Threshold Time Span" defStyleNum="dsConstant" italic="true" spellChecking="false"/>
2165       <itemData name="Unit Extension" defStyleNum="dsPreprocessor" italic="true" spellChecking="false"/>
2166       <itemData name="Unit Instance" defStyleNum="dsPreprocessor" bold="true" spellChecking="false"/>
2167       <itemData name="Unit Name" defStyleNum="dsPreprocessor" spellChecking="false"/>
2168       <itemData name="Wildcard" defStyleNum="dsSpecialChar" spellChecking="false"/>
2169     </itemDatas>
2170   </highlighting>
2171   <general>
2172     <comments>
2173       <comment name="singleLine" start="#"/>
2174     </comments>
2175     <keywords casesensitive="true" weakDeliminator="-+"/>
2176   </general>
2177 </language>