Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,7 @@ class SemanticDataRepository private constructor() {
validatorMap.putAll(InAddrPrefixesOptionValue.validators)
validatorMap.putAll(UIntOptionValues.validators)
validatorMap.putAll(SimpleGrammarOptionValues.validators)
validatorMap.putAll(getAllAIGeneratedValidators())
fileClassToSectionNameToKeyValuesFromDoc["unit"]?.remove(SCOPE_KEYWORD)
fileClassToSectionToKeyAndValidatorMap["unit"]?.remove(SCOPE_KEYWORD)
}
Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.gram



class SimpleGrammarOptionValues(validatorName: String, grammar: Combinator) : GrammarOptionValue(validatorName, grammar) {
open class SimpleGrammarOptionValues(validatorName: String, grammar: Combinator) : GrammarOptionValue(validatorName, grammar) {


companion object {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.ai

import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.Validator
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.grammar.*
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.SimpleGrammarOptionValues

/**
* Validator for Tunnel.IPv6RapidDeploymentPrefix
* C Function: config_parse_6rd_prefix(0)
* Used by Options: Tunnel.IPv6RapidDeploymentPrefix
*
* Validates IPv6 addresses with a non-zero prefix length for 6rd (IPv6 Rapid Deployment).
* Format: IPv6_address/prefix_length where prefix_length must be 1-128.
*/
class ConfigParse6rdPrefixOptionValue : SimpleGrammarOptionValues(
"config_parse_6rd_prefix",
SequenceCombinator(
IPV6_ADDR,
CIDR_SEPARATOR,
IntegerTerminal(1, 129), // Non-zero prefix length: 1-128 inclusive (129 is exclusive upper bound)
EOF()
)
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.ai

import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.grammar.*
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.SimpleGrammarOptionValues

/**
* Validator for Bond.AdActorSystemPriority
* C Function: config_parse_ad_actor_sys_prio(0)
* Used by Options: Bond.AdActorSystemPriority
*/
class ConfigParseAdActorSysPrioOptionValue : SimpleGrammarOptionValues(
"config_parse_ad_actor_sys_prio",
SequenceCombinator(
IntegerTerminal(1, 65536),
EOF()
)
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.ai

import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.Validator
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.grammar.*
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.SimpleGrammarOptionValues

/**
* Validator for Bond.AdUserPortKey
* C Function: config_parse_ad_user_port_key(0)
* Used by Options: Bond.AdUserPortKey
*
* Validates the 802.3ad user defined portion of the port key.
* Accepts a number in the range 0–1023.
*/
class ConfigParseAdUserPortKeyOptionValue : SimpleGrammarOptionValues(
"config_parse_ad_user_port_key",
SequenceCombinator(
IntegerTerminal(0, 1024), // Range 0-1023 (maxExclusive is 1024)
EOF()
)
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.ai

import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.Validator
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.grammar.*
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.SimpleGrammarOptionValues

/**
* Validator for Address.RouteMetric
* C Function: config_parse_address_section(ADDRESS_ROUTE_METRIC)
* Used by Options: Address.RouteMetric
*
* Validates unsigned 32-bit integers in the range 0 to 4294967295.
* This represents the metric of the prefix route for the configured IP address.
*/
class ConfigParseAddressSectionOptionValue : SimpleGrammarOptionValues(
"config_parse_address_section",
SequenceCombinator(
IntegerTerminal(0, 4294967296), // 0 to 4294967295 inclusive (max is exclusive)
EOF()
)
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.ai

import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.Validator
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.grammar.*
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.SimpleGrammarOptionValues

/**
* Validator for Link.AlternativeNamesPolicy
* C Function: config_parse_alternative_names_policy(0)
* Used by Options: Link.AlternativeNamesPolicy
*/
class ConfigParseAlternativeNamesPolicyOptionValue : SimpleGrammarOptionValues(
"config_parse_alternative_names_policy",
SequenceCombinator(
FlexibleLiteralChoiceTerminal("database", "onboard", "slot", "path", "mac"),
ZeroOrMore(
SequenceCombinator(
WhitespaceTerminal(),
FlexibleLiteralChoiceTerminal("database", "onboard", "slot", "path", "mac")
)
),
EOF()
)
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.ai

import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.Validator
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.grammar.*
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.SimpleGrammarOptionValues

/**
* Validator for Bond.ARPIPTargets
* C Function: config_parse_arp_ip_target_address(0)
* Used by Options: Bond.ARPIPTargets
*/
class ConfigParseArpIpTargetAddressOptionValue : SimpleGrammarOptionValues(
"config_parse_arp_ip_target_address",
SequenceCombinator(
IPV4_ADDR,
ZeroOrMore(SequenceCombinator(WhitespaceTerminal(), IPV4_ADDR)),
EOF()
)
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.ai

import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.Validator
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.grammar.*
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.SimpleGrammarOptionValues

/**
* Validator for BareUDP.EtherType
* C Function: config_parse_bare_udp_iftype(0)
* Used by Options: BareUDP.EtherType
*
* Validates the L3 protocol for BareUDP interfaces.
* Valid values: ipv4, ipv6, mpls-uc, mpls-mc
*/
class ConfigParseBareUdpIftypeOptionValue : SimpleGrammarOptionValues(
"config_parse_bare_udp_iftype",
SequenceCombinator(
FlexibleLiteralChoiceTerminal("ipv4", "ipv6", "mpls-uc", "mpls-mc"),
EOF()
)
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.ai

import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.Validator
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.grammar.*
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.SimpleGrammarOptionValues

/**
* Validator for BatmanAdvanced.GatewayMode
* C Function: config_parse_batadv_gateway_mode(0)
* Used by Options: BatmanAdvanced.GatewayMode
*
* Valid values: off, client, server
*/
class ConfigParseBatadvGatewayModeOptionValue : SimpleGrammarOptionValues(
"config_parse_batadv_gateway_mode",
SequenceCombinator(
FlexibleLiteralChoiceTerminal("off", "client", "server"),
EOF()
)
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.ai

import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.Validator
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.grammar.*
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.SimpleGrammarOptionValues

/**
* Validator for BatmanAdvanced.RoutingAlgorithm
* C Function: config_parse_batadv_routing_algorithm(0)
* Used by Options: BatmanAdvanced.RoutingAlgorithm
*/
class ConfigParseBatadvRoutingAlgorithmOptionValue : SimpleGrammarOptionValues(
"config_parse_batadv_routing_algorithm",
SequenceCombinator(
FlexibleLiteralChoiceTerminal("batman-v", "batman-iv"),
EOF()
)
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.ai

import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.Validator
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.grammar.*
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.SimpleGrammarOptionValues

/**
* Validator for Bond.AdSelect
* C Function: config_parse_bond_ad_select(0)
* Used by Options: Bond.AdSelect
*
* Specifies the 802.3ad aggregation selection logic to use.
* Valid values: stable, bandwidth, count
*/
class ConfigParseBondAdSelectOptionValue : SimpleGrammarOptionValues(
"config_parse_bond_ad_select",
SequenceCombinator(
FlexibleLiteralChoiceTerminal("stable", "bandwidth", "count"),
EOF()
)
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.ai

import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.Validator
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.grammar.*
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.SimpleGrammarOptionValues

/**
* Validator for Bond.ARPAllTargets
* C Function: config_parse_bond_arp_all_targets(0)
* Used by Options: Bond.ARPAllTargets
*/
class ConfigParseBondArpAllTargetsOptionValue : SimpleGrammarOptionValues(
"config_parse_bond_arp_all_targets",
SequenceCombinator(
FlexibleLiteralChoiceTerminal("any", "all"),
EOF()
)
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.ai

import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.Validator
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.grammar.*
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.SimpleGrammarOptionValues

/**
* Validator for Bond.ARPValidate
* C Function: config_parse_bond_arp_validate(0)
* Used by Options: Bond.ARPValidate
*/
class ConfigParseBondArpValidateOptionValue : SimpleGrammarOptionValues(
"config_parse_bond_arp_validate",
SequenceCombinator(
FlexibleLiteralChoiceTerminal("none", "active", "backup", "all"),
EOF()
)
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.ai

import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.Validator
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.grammar.*
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.SimpleGrammarOptionValues

/**
* Validator for Bond.FailOverMACPolicy
* C Function: config_parse_bond_fail_over_mac(0)
* Used by Options: Bond.FailOverMACPolicy
*
* Validates the fail-over MAC policy for active-backup bonding mode.
* Valid values are: none, active, follow
*/
class ConfigParseBondFailOverMacOptionValue : SimpleGrammarOptionValues(
"config_parse_bond_fail_over_mac",
SequenceCombinator(
FlexibleLiteralChoiceTerminal("none", "active", "follow"),
EOF()
)
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.ai

import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.Validator
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.grammar.*
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.SimpleGrammarOptionValues

/**
* Validator for Bond.LACPTransmitRate
* C Function: config_parse_bond_lacp_rate(0)
* Used by Options: Bond.LACPTransmitRate
*/
class ConfigParseBondLacpRateOptionValue : SimpleGrammarOptionValues(
"config_parse_bond_lacp_rate",
SequenceCombinator(
FlexibleLiteralChoiceTerminal("slow", "fast"),
EOF()
)
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.ai

import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.Validator
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.grammar.*
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.SimpleGrammarOptionValues

/**
* Validator for Bond.Mode
* C Function: config_parse_bond_mode(0)
* Used by Options: Bond.Mode
*/
class ConfigParseBondModeOptionValue : SimpleGrammarOptionValues(
"config_parse_bond_mode",
SequenceCombinator(
FlexibleLiteralChoiceTerminal(
"balance-rr",
"active-backup",
"balance-xor",
"broadcast",
"802.3ad",
"balance-tlb",
"balance-alb"
),
EOF()
)
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.ai

import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.Validator
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.grammar.*
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.SimpleGrammarOptionValues

/**
* Validator for Bond.PrimaryReselectPolicy
* C Function: config_parse_bond_primary_reselect(0)
* Used by Options: Bond.PrimaryReselectPolicy
*
* Validates the reselection policy for the primary slave in bonding.
* Valid values: always, better, failure
*/
class ConfigParseBondPrimaryReselectOptionValue : SimpleGrammarOptionValues(
"config_parse_bond_primary_reselect",
SequenceCombinator(
FlexibleLiteralChoiceTerminal("always", "better", "failure"),
EOF()
)
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.ai

import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.Validator
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.grammar.*
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.SimpleGrammarOptionValues

/**
* Validator for Bond.TransmitHashPolicy
* C Function: config_parse_bond_xmit_hash_policy(0)
* Used by Options: Bond.TransmitHashPolicy
*/
class ConfigParseBondXmitHashPolicyOptionValue : SimpleGrammarOptionValues(
"config_parse_bond_xmit_hash_policy",
SequenceCombinator(
FlexibleLiteralChoiceTerminal("layer2", "layer3+4", "layer2+3", "encap2+3", "encap3+4"),
EOF()
)
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.ai

import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.Validator
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.grammar.*
import net.sjrx.intellij.plugins.systemdunitfiles.semanticdata.optionvalues.SimpleGrammarOptionValues

/**
* Validator for Exec.Boot
* C Function: config_parse_boot(0)
* Used by Options: Exec.Boot
*/
class ConfigParseBootOptionValue : SimpleGrammarOptionValues(
"config_parse_boot",
SequenceCombinator(
BOOLEAN,
EOF()
)
)
Loading
Loading