Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Kitware
GitHub Repository: Kitware/CMake
Path: blob/master/Utilities/ast-grep/rules/cmhasprefix-char.yml
5016 views
1
---
2
id: cmhasprefix-char
3
language: Cpp
4
severity: warning
5
message: "`cmHasPrefix` with a one-char prefix search should use `cmHasPrefix`"
6
rule:
7
kind: string_literal
8
pattern: $ARG
9
follows:
10
regex: '(,|[(])'
11
inside:
12
matches: cmhasprefix-call
13
stopBy:
14
kind: call_expression
15
constraints:
16
ARG:
17
regex: '^"(.|\\.)"$'
18
transform:
19
ARG_CHANGE_QUOTE:
20
replace:
21
source: $ARG
22
replace: '(^"|"$)'
23
by: "'"
24
ARG_ESCAPE_SINGLE_QUOTE:
25
replace:
26
source: $ARG_CHANGE_QUOTE
27
replace: "'''"
28
by: "'\\''"
29
ARG_OUT:
30
replace:
31
source: $ARG_ESCAPE_SINGLE_QUOTE
32
replace: '\\"'
33
by: '"'
34
fix: $ARG_OUT
35
36