use special capture name "match" instead of "capture"

This commit is contained in:
Jorge Morante 2023-09-21 16:07:05 +02:00
parent 2d9029183a
commit 9f8025da82
3 changed files with 7 additions and 7 deletions

View File

@ -4,7 +4,7 @@ require "string_scanner"
def matches_for(pattern_name, input)
pattern = Regex.new(::Fingers::Config::DEFAULT_PATTERNS[pattern_name])
input.scan(pattern).map { |m| m["capture"]? || m[0] }
input.scan(pattern).map { |m| m["match"]? || m[0] }
end
describe "default patterns" do

View File

@ -32,9 +32,9 @@ module Fingers
"path": "(([.\\w\\-~\\$@]+)?(/[.\\w\\-@]+)+/?)",
"hex": "(0x[0-9a-fA-F]+)",
"kubernetes": "(deployment.app|binding|componentstatuse|configmap|endpoint|event|limitrange|namespace|node|persistentvolumeclaim|persistentvolume|pod|podtemplate|replicationcontroller|resourcequota|secret|serviceaccount|service|mutatingwebhookconfiguration.admissionregistration.k8s.io|validatingwebhookconfiguration.admissionregistration.k8s.io|customresourcedefinition.apiextension.k8s.io|apiservice.apiregistration.k8s.io|controllerrevision.apps|daemonset.apps|deployment.apps|replicaset.apps|statefulset.apps|tokenreview.authentication.k8s.io|localsubjectaccessreview.authorization.k8s.io|selfsubjectaccessreviews.authorization.k8s.io|selfsubjectrulesreview.authorization.k8s.io|subjectaccessreview.authorization.k8s.io|horizontalpodautoscaler.autoscaling|cronjob.batch|job.batch|certificatesigningrequest.certificates.k8s.io|events.events.k8s.io|daemonset.extensions|deployment.extensions|ingress.extensions|networkpolicies.extensions|podsecuritypolicies.extensions|replicaset.extensions|networkpolicie.networking.k8s.io|poddisruptionbudget.policy|clusterrolebinding.rbac.authorization.k8s.io|clusterrole.rbac.authorization.k8s.io|rolebinding.rbac.authorization.k8s.io|role.rbac.authorization.k8s.io|storageclasse.storage.k8s.io)[[:alnum:]_#$%&+=/@-]+",
"git-status": "(modified|deleted|new file): +(?<capture>.+)",
"git-status-branch": "Your branch is up to date with '(?<capture>.*)'.",
"diff": "(---|\\+\\+\\+) [ab]/(?<capture>.*)",
"git-status": "(modified|deleted|new file): +(?<match>.+)",
"git-status-branch": "Your branch is up to date with '(?<match>.*)'.",
"diff": "(---|\\+\\+\\+) [ab]/(?<match>.*)",
}
ALPHABET_MAP = {

View File

@ -92,9 +92,9 @@ module Fingers
def replace(match)
text = match[0]
captured_text = match["capture"]? || text
captured_text = match["match"]? || text
if match["capture"]?
if match["match"]?
match_start, match_end = {match.begin(0), match.end(0)}
capture_start, capture_end = find_capture_offset(match).not_nil!
capture_offset = {capture_start - match_start, captured_text.size}
@ -129,7 +129,7 @@ module Fingers
end
getter capture_indices : Array(Int32) do
pattern.name_table.compact_map { |k, v| v == "capture" ? k : nil }
pattern.name_table.compact_map { |k, v| v == "match" ? k : nil }
end
def n_matches : Int32