File tree Expand file tree Collapse file tree 3 files changed +22
-18
lines changed Expand file tree Collapse file tree 3 files changed +22
-18
lines changed Original file line number Diff line number Diff line change @@ -17,6 +17,7 @@ const {
17
17
state,
18
18
mode,
19
19
lang,
20
+ reset,
20
21
// source code
21
22
source,
22
23
// config
@@ -95,7 +96,7 @@ let codeMode = shallowRef('code')
95
96
<template #addon >
96
97
<div class =" action-bar" >
97
98
<SelectLang v-model =" lang" />
98
- <ResetConfig v-model = " state " />
99
+ <ResetConfig @reset = " reset " />
99
100
</div >
100
101
</template >
101
102
</Tabs >
Original file line number Diff line number Diff line change 1
1
<script lang="ts" setup>
2
2
import IconReset from ' ../icons/Reset.vue'
3
3
4
- import type { State } from ' ./astGrep/state'
5
- import { config , query , rewrite } from ' ./astGrep/state'
6
-
7
- const state = defineModel <State >({
8
- required: true ,
9
- })
10
-
11
- const onReset = () => {
12
- state .value .config = config
13
- state .value .query = query
14
- state .value .rewrite = rewrite
15
- }
4
+ const emits = defineEmits <{
5
+ reset: () => void
6
+ }>()
16
7
</script >
17
8
18
9
<template >
19
- <button class =" reset" title =" Reset your config" @click =" onReset " >
10
+ <button class =" reset" title =" Reset your config" @click =" emits('reset') " >
20
11
<IconReset />
21
12
</button >
22
13
</template >
Original file line number Diff line number Diff line change @@ -54,9 +54,9 @@ if (true) {
54
54
console.debug('matched by YAML')
55
55
}`
56
56
57
- export const query = 'console.log($MATCH)'
58
- export const rewrite = 'logger.log($MATCH)'
59
- export const config = `
57
+ const query = 'console.log($MATCH)'
58
+ const rewrite = 'logger.log($MATCH)'
59
+ const config = `
60
60
# YAML Rule is more powerful!
61
61
# https://ast-grep.github.io/guide/rule-config.html#rule
62
62
rule:
@@ -108,6 +108,17 @@ function storeStateInLocalStorage(state: State) {
108
108
}
109
109
}
110
110
111
+ function resetState ( state : ShallowReactive < State > ) {
112
+ state . mode = Mode . Patch
113
+ state . query = query
114
+ state . rewrite = rewrite
115
+ state . config = config
116
+ state . source = source
117
+ state . strictness = 'smart'
118
+ state . selector = ''
119
+ state . lang = 'javascript'
120
+ }
121
+
111
122
export const astGrepStateKey = Symbol . for ( 'ast-grep-state' ) as InjectionKey < ToRefs < ShallowReactive < State > > >
112
123
113
124
export function useSgState ( ) {
@@ -119,6 +130,7 @@ export function useSgState() {
119
130
} , { deep : true } )
120
131
return {
121
132
state,
133
+ reset : ( ) => resetState ( state ) ,
122
134
...refs ,
123
135
}
124
- }
136
+ }
You can’t perform that action at this time.
0 commit comments