Skip to content

Commit ba97f95

Browse files
authored
Merge pull request #8 from mpourmpoulis/develop-0.1.0
Develop 0.1.0 Is currently merging
2 parents 08870f7 + f7dc3b4 commit ba97f95

File tree

153 files changed

+5276
-889
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

153 files changed

+5276
-889
lines changed

CHANGELOG.md

+21
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,26 @@
11
# Changelog
22

3+
## [Unreleased]
4+
5+
### Added
6+
7+
* upgrades in the paste back query where it can now support surrounded punctuation.
8+
9+
* the module delete alternatives has been added.
10+
11+
* View information now also exposes they get regions sublime API
12+
13+
* The interface module now has a clear_actions methods to flush the already pushed actions.
14+
15+
### Fixed
16+
17+
* fixed an important bug in the insertion query module. the writing positions were sorted, but on an ascending order which simply broke everything when there are multiple of them. Fix this to sort them in descending order, so the changes that are executed first do not affect the others.
18+
19+
### Changed
20+
21+
* the application module has been adopted, sought after selection queries we do not only store that arraigns corresponding to the main result in the alternative but we also keep the corresponding text.
22+
23+
* the paste back query now reads the corresponding text directly from the state instead of getting their location and obtaining from the code as it did in the past
324

425
## [0.0.4] - 2019-11-27
526

Main.sublime-menu

+30-7
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,36 @@
4444
"args":{
4545
"url":"https://github.com/mpourmpoulis/PythonVoiceCodingPlugin/blob/master/doc/README.md"
4646
}
47+
},
48+
{
49+
"caption": "Operations",
50+
"command": "open_url",
51+
"args":{
52+
"url": "https://github.com/mpourmpoulis/PythonVoiceCodingPlugin/blob/master/doc/Operations.md"
53+
}
54+
},
55+
{
56+
"caption": "Sub Indexing",
57+
"command": "open_url",
58+
"args":{
59+
"url": "https://github.com/mpourmpoulis/PythonVoiceCodingPlugin/blob/master/doc/SubIndexing.md"
60+
}
61+
},
62+
{
63+
"caption": "CollectionQueries",
64+
"command": "open_url",
65+
"args":{
66+
"url": "https://github.com/mpourmpoulis/PythonVoiceCodingPlugin/blob/master/doc/CollectionQueries.md"
67+
}
68+
},
69+
{
70+
"caption": "Grammar Installation",
71+
"command": "open_url",
72+
"args":{
73+
"url": "https://github.com/mpourmpoulis/PythonVoiceCodingPlugin/blob/master/bundles/README.md"
74+
}
4775
}
76+
4877

4978

5079
]
@@ -56,13 +85,7 @@
5685
"url": "https://github.com/mpourmpoulis/PythonVoiceCodingPlugin/issues"
5786
}
5887
},
59-
{
60-
"caption": "Grammar Installation",
61-
"command": "open_url",
62-
"args":{
63-
"url": "https://github.com/mpourmpoulis/PythonVoiceCodingPlugin/blob/master/bundles/README.md"
64-
}
65-
},
88+
6689
{
6790
"caption":"Grammar for Caster 1.0.0",
6891
"command": "open_file",

README.md

+52-76
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[![License](https://img.shields.io/badge/License-BSD%202--Clause-orange.svg)](https://opensource.org/licenses/BSD-2-Clause)
44

5-
![](https://img.shields.io/static/v1?label=Version&message=0.0.4&color=green)
5+
![](https://img.shields.io/static/v1?label=Version&message=0.1.0&color=green)
66

77
![](https://img.shields.io/static/v1?label=Caster&message=0.5.11|0.6.11|1.0.0&color=blue)
88

@@ -15,25 +15,42 @@
1515
PythonVoiceCodingPlugin is a Sublime Text 3 plugin meant to enhance user experience
1616
when coding python 3 by voice.
1717

18-
![](doc/gif/arg5.gif)
18+
![](doc/gif/big37.gif)
1919

2020

21-
## Update
21+
## Contents
2222

23-
Release 0.0.5 he's out fixing problems of 0.0.4 regarding the installation via package control and adds a useful utilities under Preferences > Package Settings > PythonVoiceCodingPlugin iincluding links to online documentation issues, grammar bundles and so on. It is meant to be only temporary i'm currently wrapping up the development of 0.1.0. Also you should know that Caster 1.x.x is also supported but you must enable it by saying
23+
<!-- MarkdownTOC autolink="true" -->
24+
25+
- [Documentation](#documentation)
26+
- [Motivation](#motivation)
27+
- [Release and Version](#release-and-version)
28+
- [Limitations](#limitations)
29+
- [Installation](#installation)
30+
- [Package Control](#package-control)
31+
- [note for those who installed between 0.0.4 and 0.0.5](#note-for-those-who-installed-between-004-and-005)
32+
- [Git Install](#git-install)
33+
- [Support for voice coding framework](#support-for-voice-coding-framework)
34+
- [License](#license)
35+
- [Dependencies](#dependencies)
36+
- [Acknowledgements](#acknowledgements)
37+
- [Useful Learning Resources](#useful-learning-resources)
38+
- [Development tools](#development-tools)
39+
40+
<!-- /MarkdownTOC -->
2441

25-
```
26-
enable python voice coding plugin
27-
```
2842

29-
if you have any problem or questions regarding installation , whether of the plug-in itself or the grammar necessary to use it please let me know at my issues!
3043

3144

32-
you can now also install via package control, see installation instructions [below](#installation)
3345

3446
## Documentation
3547

36-
Documentation is available [here](doc/README.md)
48+
Documentation is available [here](doc/README.md) you can also find links to documentation under
49+
50+
```
51+
Preferences > Package Settings > PythonVoiceCodingPlugin
52+
```
53+
3754

3855

3956
## Motivation
@@ -44,14 +61,14 @@ with [Caster](https://github.com/dictation-toolbox/Caster). Despite the excelle
4461
In particular, navigation through the code sometimes felt a little bit too mechanistic. Say for instance you want to go to some location or select some text. For the most part ,you are describing what actions
4562
need to be taken to get there. What if you could instead simply describe (syntactically) what you want to select?
4663

47-
![](doc/gif/big3.gif)
64+
![](doc/gif/arg17.gif)
4865

4966
PythonVoiceCodingPlugin tries to enable you to do just that!
5067
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. These bundles
5168
cooperate with the core plugin, running on the editor side, arguably the more suitable of the two environments
5269
for analyzing source code and decoding the meaning of queries within the given context.
5370

54-
![](doc/gif/d4.gif)
71+
![](doc/gif/op2.gif)
5572

5673

5774
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 :
@@ -76,7 +93,7 @@ I want to be honest. This is not exactly the best code ever written. It is far f
7693
* 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:)
7794

7895

79-
![](doc/gif/d5.gif)
96+
![](doc/gif/op37.gif)
8097

8198
As I said, far (really far) from perfect but nonetheless an out-of-the-box solution which I hope to be helpful ,especially 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:)
8299

@@ -85,15 +102,9 @@ Needless to say, while coding PythonVoiceCodingPlugin , PythonVoiceCodingPlugin
85102
## Release and Version
86103

87104
The code is available on [github](https://github.com/mpourmpoulis/PythonVoiceCodingPlugin)
88-
along with its initial release (0.0.0)!
89105

90-
### Update 0.0.5
106+
The latest release is 0.1.0!
91107

92-
Release 0.0.5 he's out fixing problems of 0.0.4 regarding the installation via package control and adds a useful utilities under Preferences > Package Settings > PythonVoiceCodingPlugin
93-
94-
Update: release 0.0.2 is out and with many thanks to @LexiconCode there are now bundles for Caster 0.6.11!
95-
Update: Due an important error I missed, you might be faced with a situation where the pluggin cannot load and thus no commands are executed. in such a case please upgrade to release 0.0.3 which fixes it. I am sorry for any disconvenience caused!
96-
Update: release 0.0.4 is out shipping with aenea support.
97108

98109
## Limitations
99110

@@ -116,7 +127,7 @@ There are currently two installation methods for performing the first task
116127

117128
### Package Control
118129

119-
Release 0.0.5 fixes the errors that prevented 0.0.4 from installing directly from package control. You can now install the package simply by
130+
Release 0.0.5 fixed the errors that prevented 0.0.4 from installing directly from package control. You can now install the package simply by
120131

121132
- open Command Palette
122133

@@ -197,71 +208,21 @@ python3 -m pip install --target third_party -r requirements.txt
197208

198209
## Support for voice coding framework
199210

200-
### Short version:
211+
201212

202213
they are available grammars for Caster 0.5.11,0.6.11 as well as >=1.0.0 with many thanks to [LexiconCode](https://github.com/LexiconCode)!
203214

204-
It is my highest recommendation if you are using older versions of Caster that you upgrade to the latest master. Sooner or later the plug-in is going to drop support for those older versions and either way the newer version has a lot of improvements!
215+
It is my highest recommendation if you are using older versions of Caster that you upgrade to the latest one. Sooner or later the plug-in is going to drop support for those older versions and either way the newer version has a lot of improvements!
205216

206217
Regarding operating system support, the plug-in has been tested both on Windows 10 and on Ubuntu 16.04 as release 0.0.4 introduced support for [aenea](https://github.com/mpourmpoulis/PythonVoiceCodingPlugin/blob/master/bundles/Aenea/README.md)!
207218

208219

220+
Also note that if you are using the latest version of Caster, you must also enable the grammar by saying
209221

210-
211-
212-
213-
214-
215-
### Long version:
216-
217-
Ok this can get a little bit complicated because there is a variety of operating systems, speech recognition backends, macro systems and toolkits built upon them which may or may not introduce complications. To give you an example lets see a few cases of how Caster with Dragon Naturally Speaking can be used:
218-
219-
- everything native in Windows
220-
221-
- in combination with aenea on linux host with windows guest where dragon is running and keystrokes are send to the host via rpc commands
222-
223-
- linux guest receiving keystrokes from pure dragonfly windows host
224-
225-
- oh and what about that linux guest receiving aenea rpc from windows host?:)
226-
227-
228-
229-
To understand why all this may become an issue, we need to take a look at how communication between dragonfly and the plugin works.
230-
231-
232-
Probably by far the most convenient way is via sublime comand line interface. This is the default method used. For example after a command of the form
233-
234-
```python
235-
"[smart] [<adjective>] argument <argument_index>"
236222
```
237-
like
238-
239-
```
240-
"first argument 2"
241-
```
242-
243-
The script invokes the subl cli tool with a command like that:
244-
245-
``` bash
246-
subl --command python_voice_coding_plugin { "arg" : {
247-
"command":"argument",
248-
"format":1,
249-
"adjective":"first",
250-
"argument_index":2,
251-
}
252-
}
223+
enable python voice coding plugin
253224
```
254-
So effectively we trigger the command our plugin provides in its top file and pass information about the type of query we want and the parameters we used as a dict encoded as a json string.
255225

256-
Of course this does not work across virtual machine barriers:)
257-
258-
To counter this issue the simplest idea, which involves only keystrokes, is to open with some key command sublime console and using a text command to invoke the PythonVoiceCodingPlugin command from the command line. But
259-
from my experience this is often way to slow if there are a lot of parameters to pass and messes up with user-interface, as it opens up the console.
260-
261-
So this is not implemented, even though it does not need custom rpc.
262-
263-
264-
For the time being I have bundles for 0.5.11 release of Caster that work as expected on Windows 10 64bit.
265226

266227

267228

@@ -309,6 +270,8 @@ Many thanks to the contributors and maintainers of the following pypi packages:
309270

310271
For specific versions be sure to check the requirements.txt
311272

273+
For their licensees check out the dedicated [file](https://github.com/mpourmpoulis/PythonVoiceCodingPlugin/blob/master/DEPENDENCES_LICENSE.md)
274+
312275
## Acknowledgements
313276

314277
### Useful Learning Resources
@@ -336,10 +299,23 @@ Many thanks to all of the developers that have put their time and effort behind
336299

337300
* Natlink
338301

339-
* Dragonfly
302+
* Dragonfly and [Dragonfly2](https://github.com/dictation-toolbox/dragonfly)
340303

341304
* Caster
342305

343306

307+
also some of the other tools I found useful developing this project
308+
309+
* TabNine
310+
311+
* Quoda
312+
313+
* Automatic Package Reloader
314+
315+
* MarkdownTOC
316+
317+
* ScreenToGif
318+
319+
* Jedi
344320

345321

0 commit comments

Comments
 (0)