You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+28-5Lines changed: 28 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,7 +18,12 @@ In particular, navigation through the code sometimes felt a little bit too mecha
18
18
need to be taken to get there. What if you could instead simply describe (syntactically) what you want to select?
19
19
20
20
PythonVoiceCodingPlugin tries to enable you to do just that!
21
-
As implementing such functionality requires the analysis of source code,a task far more suitable to editors.
21
+
To provide this functionality, it ships with bundles the implement a grammar, hopefully expressive enough for describing regions of interest, while running on the voice coding macro system side and
22
+
cooperate with the core plugin, running on the editor side, arguably the more suitable of the two environments
23
+
for analyzing source code and decoding the meaning of queries within the given context.
24
+
25
+
26
+
22
27
23
28
I want to be honest. This is not exactly the best code ever written. It is far from it:) And it is far from the full functionality i would want it to offer. Nonetheless, I still think that PythonVoiceCodingPlugin is a tool that :
24
29
@@ -42,6 +47,7 @@ I want to be honest. This is not exactly the best code ever written. It is far f
42
47
* is partly customizable. If you find yourself using certain commands with some given parameters often and want a shorthand smaller command, you can always follow my commented banana example:)
43
48
44
49
50
+
As I said, far from perfect but nonetheless an out-of-the-box solution which I hope to be helpful for beginners to get up to speed and a step towards the right direction. I hope you enjoy using it as much as I have enjoyed coding it:)
45
51
46
52
## Release and Version
47
53
@@ -52,9 +58,9 @@ Currently in preparation of the initial 0.0.0 release , probably between 5-10/11
52
58
53
59
## Limitations
54
60
55
-
There are of course certain limitations:
61
+
There are of course certain limitations which I would like to make clear from the start:
56
62
57
-
* Currently I do not fully support python > 3.3 (Still, you can work on code that contains some new features such as async and await keywords, f-strings). That's because Sublime uses python 3.3.6 and I rely on the standard library´s ast module to parse the code. An alternative could have been astroid but it itself uses typed_ast, which contains C code, something which I wanted to avoid. The plugin will most likely eventually change to a client server architecture and simply use an up to date ast module from python 3.7 or the new 3.8.
63
+
* Currently I do not fully support python > 3.3 (Still, you can work on code that contains some new features such as async and await keywords, f-strings). That's because Sublime uses python 3.3.6 and I rely on the standard library´s ast module to parse the code. An alternative could have been astroid but it itself uses typed_ast, which contains C code, something which I wanted to avoid. The plugin will most likely eventually change to a client server architecture and simply use an up to date ast module from python 3.7 or the new 3.8. please note that this restriction only concerns the users of new syntactical features. There is no problem , for instance, if you use a new standard library function.
58
64
59
65

60
66
@@ -179,7 +185,7 @@ For specific versions be sure to check the requirements.txt
179
185
180
186
## Acknowledgements
181
187
182
-
### Resources
188
+
### Useful Learning Resources
183
189
184
190
The following resources proved very helpfull for the success of the project. Many thanks to all the authors!
185
191
@@ -191,4 +197,21 @@ The following resources proved very helpfull for the success of the project. Man
Copy file name to clipboardExpand all lines: doc/README.md
+22-3Lines changed: 22 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,7 +34,7 @@ Choice("adjective",{
34
34
35
35
} )
36
36
```
37
-

37
+

38
38
39
39
and
40
40
@@ -51,9 +51,11 @@ Choice("vertical_direction",{
51
51
```
52
52
53
53
usually followed by an integer. Beware the difference between up and above! As a rule of thumb, above only takes "interesting" lines into consideration:)
54
-

54
+
55
+

55
56
56
57
* in certain cases you can combine these two approaches:)
58
+
57
59

58
60
59
61
Details vary but that is the. spirit! Ok , what else?
For the time being, the only available option for the level parameter is
119
124
125
+
```python
126
+
Choice("level",{
127
+
"inside":"inside",
128
+
}
129
+
),
130
+
```
120
131
by means of the keyword inside , we can specify that we want an argument from a function call that is nested inside another function call! The level_index parameter
121
132
122
133
Specifies the index of the argument of the outer function call our desired ROI lies in. In order to specify which outer function goal we are referring to we can optionally use an adjective :
@@ -132,6 +143,9 @@ This, looks very similar to the previous one. However, instead of using the adje
Copy file name to clipboardExpand all lines: doc/SelectBigROI.md
+4-1Lines changed: 4 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,9 @@
2
2
3
3
These commands are responsible for selecting "big" regions of interest. By "big" we refer to things like "if condition" or "assignment right" in contrast to say the first entry of a dictionary.
4
4
5
+

6
+
7
+
5
8
In particular, the currently offered "big roi´s" are :
6
9
7
10
```python
@@ -83,7 +86,7 @@ you should probably be already familiar with adjectives, so here is an example o
83
86
84
87

85
88
86
-
as with case one, only the current function searched.
89
+
as with case one, only the current function searched. ( pay attention to my last example where alternatives are only offered from the nested function definition!)
0 commit comments