glimmer-cs-gladiator 0.6.1 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +241 -0
- data/LICENSE.txt +1 -1
- data/README.md +28 -10
- data/VERSION +1 -1
- data/glimmer-cs-gladiator.gemspec +70 -0
- data/images/glimmer-cs-gladiator-logo.png +0 -0
- data/lib/models/glimmer/gladiator/dir.rb +2 -2
- data/lib/models/glimmer/gladiator/file.rb +23 -15
- data/lib/views/glimmer/gladiator.rb +754 -510
- data/lib/views/glimmer/gladiator/text_editor.rb +115 -96
- metadata +16 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 42a4c55757f8f11ff94253067439895f7e1c0a1a1ebb3aaaf6d9d1d068ea82eb
|
4
|
+
data.tar.gz: d09c688ba5042f0be4489347c6937780b5e06e815d8879499f30c73857a27969
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6b3d619fbf4ad18ce233d86bfa6fcd902b3865e0177fac7021392354f72a07f0c93c47e70cb066a0e21c4358592f13b2f24dd66123d15c66eb971f6e2941ce57
|
7
|
+
data.tar.gz: fa59fa6baab0ef8b35ff6864692739f98a6f515cc63a61320cb12c92141c810364570e880e923e657401e1c56a533d98abbcc89fb609ad02126a9da39ed05e5f
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,241 @@
|
|
1
|
+
# Change Log
|
2
|
+
|
3
|
+
## 0.7.1
|
4
|
+
|
5
|
+
- Update View -> Reset All to also reset the File Lookup/File Explorer Sash Width and the Navigation Bar (expanding it)
|
6
|
+
- Fix issue with split, reset split, unsplit, and then split again forgetting the reset for the sash width
|
7
|
+
- Ensure closing a single tab moves user back to the previous tab
|
8
|
+
- Add pkg to ignore paths
|
9
|
+
- Update Reset All menu item to reset splits too
|
10
|
+
|
11
|
+
## 0.7.0
|
12
|
+
|
13
|
+
- Upgrade to glimmer-dsl-swt v4.18.0.0
|
14
|
+
- Implement sash form for separator between file area and editing area to make resizable
|
15
|
+
- Change shortcut for open project from CMD+SHIFT+P to CMD+O
|
16
|
+
- Unsplit pane Menu Item / Keyboard Shortcut (CMD+SHIFT+U)
|
17
|
+
- Maximize Split Pane Size Menu Item / Keyboard Shortcut (CMD+SHIFT+M)
|
18
|
+
- Reset Split Pane Menu Item / Keyboard Shortcut (CMD+SHIFT+M again while maximized or CMD+SHIFT+P to reset split widths)
|
19
|
+
- Maximize Editor Menu Item / Keyboard Shortcut (CMD+CTRL+M)
|
20
|
+
- Reset Editor Menu Item / Keyboard Shortcut (CMD+CTRL+M again while maximized or CMD+CTRL+R to reset all sizes)
|
21
|
+
- Make CMD R and CMD T shortcuts show the file lookup/file explorer if collapsed (just like CMD + F shows navigation area)
|
22
|
+
- Display Accelerators (keyboard shortcuts) on Mac Menu Items
|
23
|
+
- Show exception dialog on error when invoking Run -> Ruby
|
24
|
+
- Fix issue with creating a new directory in a different project from the main one open
|
25
|
+
- Fix issue with quitting gladiator when multiple projects are open requiring multiple presses of CMD+Q
|
26
|
+
|
27
|
+
## 0.6.4
|
28
|
+
|
29
|
+
- Ensured Gladiator logo in the about menu has a white background
|
30
|
+
- Fixed issue on failing to configure Mac Quit menu item on Windows (restricted code to Mac only)
|
31
|
+
|
32
|
+
## 0.6.3
|
33
|
+
|
34
|
+
- Display Gladiator version in window title
|
35
|
+
- Set Gladiator icon on window
|
36
|
+
- Fix issue with wording getting reversed when typing at the end of the file
|
37
|
+
- Fix issue with not being able to add new lines at the end of the file
|
38
|
+
- Fix issue with moving lines down at the end of the file making selection go out of wack
|
39
|
+
- Fix issue with Find keyboard shortcut causing a delay before landing in the Find text field
|
40
|
+
- Fix transient issue of find_next not jumping properly after replacing a term near the end of the line
|
41
|
+
- Fix issue with layout upon split
|
42
|
+
- Fix issue with layout upon opening a new tab
|
43
|
+
- Fix issue with splitting a file showing in both panes and then unsplitting afterwards detaching data-binding
|
44
|
+
- Fix issue with losing changes on exit if I do not focus out on a file
|
45
|
+
|
46
|
+
## 0.6.2
|
47
|
+
|
48
|
+
- Speed up startup time by not truly opening all files beyond showing their tab (till navigated to)
|
49
|
+
- Made CMD+F and CMD+L expand navigation section if collapsed
|
50
|
+
- Made CMD+R expand file lookup section if collapsed
|
51
|
+
- Made CMD+T expand file explorer section if collapsed
|
52
|
+
- Fix this issue: Type till the end of the line. Hit CMD+SHIFT+ENTER to jump to the previous line while inserting a line. It jumps to the next line instead as if I did CMD+ENTER
|
53
|
+
- Fix issue with closing a project shell with an x mouse click requiring multiple presses for every tab open
|
54
|
+
- Fix issue with inserting new line via CMD+ENTER not maintaining indentation
|
55
|
+
|
56
|
+
## 0.6.1
|
57
|
+
|
58
|
+
- Fixed issue relating to not recording text selection correctly when done by mouse
|
59
|
+
|
60
|
+
## 0.6.0
|
61
|
+
|
62
|
+
- Collapsable File Lookup/File Explorer/Navigation Expand Bars
|
63
|
+
- Improve Undo/Redo support by making it work for simple text editing
|
64
|
+
- Clear Undo/Redo history for a file upon closing
|
65
|
+
- Fix issue with the text editor caret dancing uncontrollably
|
66
|
+
- Fix issue with quickly moving multiple lines up or down sometimes splintering and losing multi-line selection
|
67
|
+
|
68
|
+
## 0.5.4
|
69
|
+
|
70
|
+
- CMD+SHIFT+O now splits the Text Editor without requiring Drag & Drop
|
71
|
+
- Close open files when deleting their parent directory
|
72
|
+
- Make rename refocus on the file renamed in the tree if different from the file being edited
|
73
|
+
- Save/Load Config for the Split Orientation
|
74
|
+
- Right aligned line numbers in Scratchpad and new files
|
75
|
+
- Show a friendly progress message when opening last open files
|
76
|
+
- Use SashForm for container/separator of File Lookup List and File Explorer Tree, making them resizable
|
77
|
+
- Enhance startup performance by only loading content of last open files
|
78
|
+
- Avoid extra writes to open files when no changes occurred
|
79
|
+
- Upgrade to glimmer-dsl-swt gem v4.17.10.1
|
80
|
+
- Upgrade to clipboard gem v1.3.5
|
81
|
+
- Fix issue with over-refreshing directories on focus out and back in
|
82
|
+
- Fix glitches with certain single line file operations causing unnecessary text editor scroll jitter
|
83
|
+
- Fix issue with creating directories not allowing save/rename
|
84
|
+
- Fix issue with crashing when closing a file and then trying to delete another file from the tree (might happen if you try to rename closed file) says getData returned nil
|
85
|
+
- Fix issue with line numbers not lining up perfectly with code/text lines in non-ruby files
|
86
|
+
|
87
|
+
## 0.5.3
|
88
|
+
|
89
|
+
- Upgraded to glimmer-dsl-swt v4.17.8.3, with performance optimizations for `code_text`
|
90
|
+
|
91
|
+
## 0.5.2
|
92
|
+
|
93
|
+
- Fix issue with file/directory rename not working
|
94
|
+
- Fix issue with not renaming tab text when renaming file
|
95
|
+
- Fix issue with not closing tab when deleting file
|
96
|
+
|
97
|
+
## 0.5.1
|
98
|
+
|
99
|
+
- Fixed a Windows issue with opening Ruby styled text editors
|
100
|
+
|
101
|
+
## 0.5.0
|
102
|
+
|
103
|
+
- File Menu to allow Opening a Project
|
104
|
+
- Scratchpad for running any Ruby/Glimmer code for experimentation/debugging/instrumenting
|
105
|
+
- CTRL+A and CTRL+E shortcuts for beginning of line and end of line
|
106
|
+
- Minor performance optimization by not syntax highlighting file line numbers (using standard uniform foreground coloring)
|
107
|
+
- Fix issue with going back to top of file when CMD+Tabbing to another app (losing focus) and then coming back (gaining focus)
|
108
|
+
- Fix tree slow refresh and lost refreshes on directory file changes
|
109
|
+
- Fix scroll jitter on move line up/down
|
110
|
+
- Fix issue with opening the last file open on both sides of split text editor upon launching Gladiator
|
111
|
+
- Fix issue with producing extra space at the end of some lines
|
112
|
+
- Fix issue with CMD+4 not working for jumping to the 4th tab
|
113
|
+
- Fix issue with keyboard shortcuts triggered in multiple projects
|
114
|
+
|
115
|
+
## 0.4.1
|
116
|
+
|
117
|
+
- Do not enable Ruby syntax highlighting in non-Ruby files
|
118
|
+
|
119
|
+
## 0.4.0
|
120
|
+
|
121
|
+
- Syntax highlighting
|
122
|
+
- Run menu with current file menu item
|
123
|
+
- View menu with Split Horizontal/Vertical
|
124
|
+
- Change split orientation with CMD+SHIFT+O shortcut
|
125
|
+
- Run current file shortcut CMD+SHIFT+R
|
126
|
+
- Fix issue with line numbers not scrolling perfectly along with open file (off by a few pixels)
|
127
|
+
- Fix select-all with code_text
|
128
|
+
- Fix tab with code_text
|
129
|
+
- Fix caret position after tab with code_text
|
130
|
+
- Fix issue with ENTER key not putting caret parallel to previous line start
|
131
|
+
- Fix issue with jumping to bottom when doing CMD+] or [ for indent
|
132
|
+
- Fix multi-line operations/post-selection with code_text (e.g. comment/uncomment, indent right or left)
|
133
|
+
- Fix issue with jumping one line up or down when doing CMD+] or [ for indent
|
134
|
+
- Fix CMD+ENTER and CMD+SHIFT+ENTER with code_text
|
135
|
+
- Fix Move Line Up or Move Line Down with code_text
|
136
|
+
- Fix jumping across pages of code on Find Next with code_text (it stays in the same page)
|
137
|
+
- Fix issue with jumping back to beginning of file upon very quick indent/outdent
|
138
|
+
|
139
|
+
## 0.3.1
|
140
|
+
|
141
|
+
- Fixed issue with Find/Replace revisiting the same word after Replace, making it jump to the next one.
|
142
|
+
- Add 'vendor' to ignore paths
|
143
|
+
|
144
|
+
## 0.3.0
|
145
|
+
|
146
|
+
- Support Ignore Paths ('packges' and 'tmp' by default) to avoid slowing down editor with irrelevant files
|
147
|
+
- Upgrade support to glimmer-dsl-swt 4.17.2.0 up to 5.0.0.0
|
148
|
+
|
149
|
+
## 0.2.4
|
150
|
+
|
151
|
+
- Remember split windows on restart
|
152
|
+
- Fix issue with not being able to rename file by hitting ENTER
|
153
|
+
|
154
|
+
## 0.2.3
|
155
|
+
|
156
|
+
- Improved performance of file lookup list and display of directories (removing current local directory from file prefix)
|
157
|
+
|
158
|
+
## 0.2.2
|
159
|
+
|
160
|
+
- Upgraded to glimmer-dsl-swt 0.4.0
|
161
|
+
|
162
|
+
## 0.2.1
|
163
|
+
|
164
|
+
- Drag and Drop Text Editor Split Screen Support (drag from tree or file lookup list)
|
165
|
+
- Fix issue with not rendering list and tree sometimes upon opening a small file like VERSION
|
166
|
+
|
167
|
+
## 0.2.0
|
168
|
+
|
169
|
+
- Upgraded to glimmer 0.9.1 / glimmer-dsl-swt 0.1.0
|
170
|
+
- Fixed unopen-file related bugs
|
171
|
+
|
172
|
+
## 0.1.8
|
173
|
+
|
174
|
+
- Undo/Redo
|
175
|
+
- Case-sensitive Find (and Replace by extension)
|
176
|
+
- Make CMD+SHIFT+] at the last tab go to the first tab (and vice versa with CMD+SHIFT+[)
|
177
|
+
- Fix Line/Find/Replace actions when no file is open (to avoid crash)
|
178
|
+
- Fix issue with file lookup list expanding all the way down, covering the file tree
|
179
|
+
- Fix issue with hitting home/end with selection keeping selection instead of removing it
|
180
|
+
- Fix issue with crashing if no file was open, no file is found in lookup list, and you attempt to hit enter in keyboard
|
181
|
+
|
182
|
+
## 0.1.7
|
183
|
+
|
184
|
+
- Relaxed Glimmer version requirement
|
185
|
+
|
186
|
+
## 0.1.6
|
187
|
+
|
188
|
+
- Support Linux explicitly (sort of)
|
189
|
+
- Make file tree maintain expansion state on refreshes caused by internal & external changes
|
190
|
+
|
191
|
+
## 0.1.5
|
192
|
+
|
193
|
+
- Remember all open text editor tabs when closing and reopening
|
194
|
+
- Support closing text editor tabs with keyboard shortcuts (closing current tab, closing all tabs other than current one, closing all tabs)
|
195
|
+
- Support prefix new indented line when hitting CMD+SHIFT+ENTER in the middle of a line
|
196
|
+
- Make CMD+T auto-select open file in file tree
|
197
|
+
- Make gladiator command accept directory argument instead of LOCAL_DIR and automatically open directory passed in
|
198
|
+
- Fix rename bug for when focusing out without changing name
|
199
|
+
- Fix bug with opening file with ENTER key from file tree
|
200
|
+
- Fix issue with changes not persisting when done via find/replace on a newly browsed to tab
|
201
|
+
|
202
|
+
## 0.1.4
|
203
|
+
|
204
|
+
- Fix issue with file explorer tree losing selection on refresh
|
205
|
+
- Fix file explorer opening of files on every selection change instead of just hitting ENTER or mouse click
|
206
|
+
- Fix issue with refreshing the tree on every tab switch after making changes (make it check if change is coming from any of all tabs)
|
207
|
+
- Fix issue with top index not being set from config
|
208
|
+
- Make file explorer tree show file/directory names not paths
|
209
|
+
- Make file explorer tree show current project directory name as the root instead of "."
|
210
|
+
- Make file explorer shortcut auto-reveal open file in file explorer tree
|
211
|
+
- Make hitting ESC button in line number field, file lookup field, find field, or replace field go back to open file to the same caret position as before
|
212
|
+
- Make hitting ESC button in file explorer go back to open file to the same caret position as before and reselect it
|
213
|
+
- Improve file lookup by ignoring dots
|
214
|
+
- Add number command + 2-8 tab shortcuts
|
215
|
+
- Add a new file through File Explorer
|
216
|
+
- Add a new directory through File Explorer
|
217
|
+
- Delete a file or directory through File Explorer
|
218
|
+
- Support auto-indent on hitting ENTER to add a new line
|
219
|
+
- Support insert new indented line when hitting CMD+ENTER in the middle of a line
|
220
|
+
|
221
|
+
## 0.1.3
|
222
|
+
|
223
|
+
- Fix issue with selection getting out of wack when moving a group of lines up or down
|
224
|
+
- Fix issue with Find not working for more than one occurrence in a line
|
225
|
+
- Fix issue with kill line sometimes jumping to the next line afterwards. Seems to happen if following line is empty
|
226
|
+
- Fix issue with line numbers sometimes getting clipped when openig a new file until resizing window
|
227
|
+
- Support multiple tabs
|
228
|
+
- Support tab keyboard shortcuts for next tab, previous tab, first tab, last tab
|
229
|
+
- Remember window size and location
|
230
|
+
|
231
|
+
## 0.1.2
|
232
|
+
|
233
|
+
- Fix issue with file name on top being clipped
|
234
|
+
- Fix issue with Find/Replace not working correctly for first line in the file (being off by one character)
|
235
|
+
|
236
|
+
## 0.1.1
|
237
|
+
|
238
|
+
- Fix issue with tab button killing selection (make it indent instead)
|
239
|
+
- Fix issue with crashing upon permission denied for opening a file
|
240
|
+
- Fix issue with storing .gladiator in running directory instead of LOCAL_DIR when specified
|
241
|
+
- Make entering the file lookup list automatically highlight the first element
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# <img src='https://raw.githubusercontent.com/AndyObtiva/glimmer-cs-gladiator/master/images/glimmer-cs-gladiator-logo.svg' height=85 /> Gladiator 0.
|
1
|
+
# <img src='https://raw.githubusercontent.com/AndyObtiva/glimmer-cs-gladiator/master/images/glimmer-cs-gladiator-logo.svg' height=85 /> Gladiator 0.7.1 - [Ugliest Text Editor Ever!](https://www.reddit.com/r/ruby/comments/hgve8k/gladiator_glimmer_editor_ugliest_text_editor_ever/)
|
2
2
|
## [<img src="https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png" height=40 /> Glimmer Custom Shell](https://github.com/AndyObtiva/glimmer-dsl-swt#custom-shell-gem)
|
3
3
|
[](http://badge.fury.io/rb/glimmer-cs-gladiator)
|
4
4
|
|
@@ -13,6 +13,8 @@ I leave building truly professional text editors to software tooling experts who
|
|
13
13
|
|
14
14
|
Gladiator currently supports the following text editing features (including keyboard shortcuts with Mac CMD=CTRL on Windows/Linux)
|
15
15
|
|
16
|
+

|
17
|
+
|
16
18
|
### Text Editor
|
17
19
|
|
18
20
|
- Text Editor with Colored Ruby Syntax Highlighting
|
@@ -36,7 +38,7 @@ Gladiator currently supports the following text editing features (including keyb
|
|
36
38
|
### File Lookup List Filter
|
37
39
|
|
38
40
|
- Collapsable file lookup list filter (CMD+R)
|
39
|
-
- Semi-fuzzy filtering by ignoring slashes, underscores, and dots to ease lookup
|
41
|
+
- Semi-fuzzy filtering by ignoring slashes, underscores, and dots to ease lookup
|
40
42
|
|
41
43
|
### Navigation Area
|
42
44
|
|
@@ -47,8 +49,18 @@ Gladiator currently supports the following text editing features (including keyb
|
|
47
49
|
|
48
50
|
### Menus
|
49
51
|
|
50
|
-
- File Menu
|
51
|
-
-
|
52
|
+
- File Menu:
|
53
|
+
- Open Project (CMD+O)
|
54
|
+
- Quit Project (CMD+ALT+Q)
|
55
|
+
- New Scratchpad for running arbitrary Ruby/Glimmer code without saving to disk (CMD+SHIFT+S)
|
56
|
+
- View Menu
|
57
|
+
- Split Pane
|
58
|
+
- Orientation change to Horizontal/Vertical (CMD+SHIFT+O)
|
59
|
+
- Maximize Pane: maximizes current pane in split pane to take entire area (CMD+SHIFT+M)
|
60
|
+
- Reset Panes: resets pane sizes if split width/height was adjusted (CMD+SHIFT+P)
|
61
|
+
- Unsplit: closes the second pane (CMD+SHIFT+U)
|
62
|
+
- Maximize Editor: maximizes editor area to hide file lookup list and file explorer tree (CMD+CTRL+M)
|
63
|
+
- Reset All: resizes sizes of all areas in the editor (CMD+CTRL+R)
|
52
64
|
- Run Menu to run Ruby code (CMD+SHIFT+R)
|
53
65
|
|
54
66
|
### Watch External Changes
|
@@ -70,12 +82,14 @@ Gladiator currently supports the following text editing features (including keyb
|
|
70
82
|
|
71
83
|
## Pre-requisites
|
72
84
|
|
73
|
-
- [Glimmer DSL for SWT](https://github.com/AndyObtiva/glimmer-dsl-swt) (JRuby Desktop Development GUI Library): '>= 4.17.2.0', '< 5.0.0.0' (dependency included in Ruby gem).
|
74
|
-
- [JRuby](https://www.jruby.org/download): Same version required by [Glimmer](https://github.com/AndyObtiva/glimmer-dsl-swt)
|
75
85
|
- [JDK](https://www.oracle.com/java/technologies/javase-downloads.html): Same version required by [Glimmer](https://github.com/AndyObtiva/glimmer-dsl-swt)
|
86
|
+
- [JRuby](https://www.jruby.org/download): Same version required by [Glimmer](https://github.com/AndyObtiva/glimmer-dsl-swt)
|
87
|
+
- [Glimmer DSL for SWT](https://github.com/AndyObtiva/glimmer-dsl-swt) (JRuby Desktop Development GUI Framework): '>= 4.17.2.0', '< 5.0.0.0' (dependency included in Ruby gem).
|
76
88
|
|
77
89
|
## Setup Instructions
|
78
90
|
|
91
|
+
Note: if you encounter any issues, check if they are documented in [TODO.md](TODO.md), [issues](https://github.com/AndyObtiva/glimmer-cs-gladiator/issues), or [pull requests](https://github.com/AndyObtiva/glimmer-cs-gladiator/pulls) as they might be on my radar to fix. Otherwise, please report as an [issue](https://github.com/AndyObtiva/glimmer-cs-gladiator/issues) or better yet fix and submit a [pull request](https://github.com/AndyObtiva/glimmer-cs-gladiator/pulls).
|
92
|
+
|
79
93
|
Install Gladiator gem by running (`jgem`, `jruby -S gem`, or `gem` directly if you have [RVM](https://rvm.io/)):
|
80
94
|
|
81
95
|
```
|
@@ -136,7 +150,7 @@ To reuse Gladiator as a Glimmer Custom Shell inside another Glimmer application,
|
|
136
150
|
following to the application's `Gemfile`:
|
137
151
|
|
138
152
|
```
|
139
|
-
gem 'glimmer-cs-gladiator', '
|
153
|
+
gem 'glimmer-cs-gladiator', '>= 0.7.1'
|
140
154
|
```
|
141
155
|
|
142
156
|
Run:
|
@@ -182,6 +196,10 @@ The signal TERM is in use by the JVM and will not work correctly on this platfor
|
|
182
196
|
|
183
197
|
[TODO.md](TODO.md)
|
184
198
|
|
199
|
+
## Change Log
|
200
|
+
|
201
|
+
[CHANGELOG.md](CHANGELOG.md)
|
202
|
+
|
185
203
|
## Contributing to glimmer-cs-gladiator
|
186
204
|
|
187
205
|
- Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
|
@@ -196,10 +214,10 @@ The signal TERM is in use by the JVM and will not work correctly on this platfor
|
|
196
214
|
|
197
215
|
[MIT](https://opensource.org/licenses/MIT)
|
198
216
|
|
199
|
-
Copyright (c) 2020 Andy Maleh. See [LICENSE.txt](LICENSE.txt) for further details.
|
217
|
+
Copyright (c) 2020-2021 Andy Maleh. See [LICENSE.txt](LICENSE.txt) for further details.
|
200
218
|
|
201
219
|
--
|
202
220
|
|
203
|
-
[<img src="https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png" height=40 />](https://github.com/AndyObtiva/glimmer) Built with [Glimmer DSL for SWT](https://github.com/AndyObtiva/glimmer-dsl-swt) (JRuby Desktop Development GUI
|
221
|
+
[<img src="https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png" height=40 />](https://github.com/AndyObtiva/glimmer) Built with [Glimmer DSL for SWT](https://github.com/AndyObtiva/glimmer-dsl-swt) (JRuby Desktop Development GUI Framework)
|
204
222
|
|
205
|
-
Gladiator icon made by <a href="https://www.flaticon.com/authors/freepik" title="Freepik">Freepik</a> from <a href="https://www.flaticon.com/" title="Flaticon">www.flaticon.com</a>
|
223
|
+
Gladiator icon made by <a href="https://www.flaticon.com/authors/freepik" title="Freepik">Freepik</a> from <a href="https://www.flaticon.com/" title="Flaticon">www.flaticon.com</a>
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.7.1
|
@@ -0,0 +1,70 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
# stub: glimmer-cs-gladiator 0.7.1 ruby lib
|
6
|
+
|
7
|
+
Gem::Specification.new do |s|
|
8
|
+
s.name = "glimmer-cs-gladiator".freeze
|
9
|
+
s.version = "0.7.1"
|
10
|
+
|
11
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
12
|
+
s.require_paths = ["lib".freeze]
|
13
|
+
s.authors = ["Andy Maleh".freeze]
|
14
|
+
s.date = "2021-01-15"
|
15
|
+
s.description = "Gladiator (short for Glimmer Editor) is a Glimmer sample project under on-going development. It is not intended to be a full-fledged editor by any means, yet mostly a fun educational exercise in using Glimmer to build a text editor. Gladiator is also a personal tool for shaping an editor exactly the way I like. I leave building truly professional text editors to software tooling experts who would hopefully use Glimmer one day.".freeze
|
16
|
+
s.email = "andy.am@gmail.com".freeze
|
17
|
+
s.executables = ["gladiator".freeze]
|
18
|
+
s.extra_rdoc_files = [
|
19
|
+
"LICENSE.txt",
|
20
|
+
"README.md"
|
21
|
+
]
|
22
|
+
s.files = [
|
23
|
+
"CHANGELOG.md",
|
24
|
+
"LICENSE.txt",
|
25
|
+
"README.md",
|
26
|
+
"VERSION",
|
27
|
+
"bin/gladiator",
|
28
|
+
"bin/gladiator_runner.rb",
|
29
|
+
"glimmer-cs-gladiator.gemspec",
|
30
|
+
"images/glimmer-cs-gladiator-logo.png",
|
31
|
+
"lib/glimmer-cs-gladiator.rb",
|
32
|
+
"lib/models/glimmer/gladiator/command.rb",
|
33
|
+
"lib/models/glimmer/gladiator/dir.rb",
|
34
|
+
"lib/models/glimmer/gladiator/file.rb",
|
35
|
+
"lib/views/glimmer/gladiator.rb",
|
36
|
+
"lib/views/glimmer/gladiator/text_editor.rb"
|
37
|
+
]
|
38
|
+
s.homepage = "http://github.com/AndyObtiva/glimmer-cs-gladiator".freeze
|
39
|
+
s.licenses = ["MIT".freeze]
|
40
|
+
s.rubygems_version = "3.0.6".freeze
|
41
|
+
s.summary = "Gladiator (Glimmer Editor) - Glimmer Custom Shell - Text Editor Built in Ruby".freeze
|
42
|
+
|
43
|
+
if s.respond_to? :specification_version then
|
44
|
+
s.specification_version = 4
|
45
|
+
|
46
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
47
|
+
s.add_runtime_dependency(%q<glimmer-dsl-swt>.freeze, [">= 4.18.0.0", "< 5.0.0.0"])
|
48
|
+
s.add_runtime_dependency(%q<filewatcher>.freeze, ["~> 1.1.1"])
|
49
|
+
s.add_runtime_dependency(%q<clipboard>.freeze, ["~> 1.3.5"])
|
50
|
+
s.add_development_dependency(%q<rspec>.freeze, ["~> 3.5.0"])
|
51
|
+
s.add_development_dependency(%q<jeweler>.freeze, ["= 2.3.9"])
|
52
|
+
s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
|
53
|
+
else
|
54
|
+
s.add_dependency(%q<glimmer-dsl-swt>.freeze, [">= 4.18.0.0", "< 5.0.0.0"])
|
55
|
+
s.add_dependency(%q<filewatcher>.freeze, ["~> 1.1.1"])
|
56
|
+
s.add_dependency(%q<clipboard>.freeze, ["~> 1.3.5"])
|
57
|
+
s.add_dependency(%q<rspec>.freeze, ["~> 3.5.0"])
|
58
|
+
s.add_dependency(%q<jeweler>.freeze, ["= 2.3.9"])
|
59
|
+
s.add_dependency(%q<simplecov>.freeze, [">= 0"])
|
60
|
+
end
|
61
|
+
else
|
62
|
+
s.add_dependency(%q<glimmer-dsl-swt>.freeze, [">= 4.18.0.0", "< 5.0.0.0"])
|
63
|
+
s.add_dependency(%q<filewatcher>.freeze, ["~> 1.1.1"])
|
64
|
+
s.add_dependency(%q<clipboard>.freeze, ["~> 1.3.5"])
|
65
|
+
s.add_dependency(%q<rspec>.freeze, ["~> 3.5.0"])
|
66
|
+
s.add_dependency(%q<jeweler>.freeze, ["= 2.3.9"])
|
67
|
+
s.add_dependency(%q<simplecov>.freeze, [">= 0"])
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
Binary file
|
@@ -36,7 +36,7 @@ module Glimmer
|
|
36
36
|
end
|
37
37
|
self.path = ::File.expand_path(path)
|
38
38
|
@name = ::File.basename(::File.expand_path(path))
|
39
|
-
@ignore_paths = ['.gladiator', '.git', 'coverage', 'packages', 'node_modules', 'tmp', 'vendor']
|
39
|
+
@ignore_paths = ['.gladiator', '.git', 'coverage', 'packages', 'node_modules', 'tmp', 'vendor', 'pkg']
|
40
40
|
self.filtered_path_options = []
|
41
41
|
end
|
42
42
|
|
@@ -60,7 +60,7 @@ module Glimmer
|
|
60
60
|
def name=(the_name)
|
61
61
|
self.display_path = display_path.sub(/#{Regexp.escape(@name)}$/, the_name)
|
62
62
|
@name = the_name
|
63
|
-
new_path = ::File.expand_path(display_path)
|
63
|
+
new_path = @project_dir.nil? ? ::File.expand_path(display_path) : ::File.join(project_dir.path, display_path)
|
64
64
|
FileUtils.mv(path, new_path)
|
65
65
|
self.path = display_path
|
66
66
|
end
|
@@ -36,10 +36,7 @@ module Glimmer
|
|
36
36
|
the_dirty_content.split("\n") # test that it is not a binary file (crashes to rescue block otherwise)
|
37
37
|
self.dirty_content = the_dirty_content
|
38
38
|
observe(self, :caret_position) do |new_caret_position|
|
39
|
-
|
40
|
-
current_line_number = line_number
|
41
|
-
self.line_number = new_line_number unless current_line_number && current_line_number == new_line_number
|
42
|
-
self.line_position = caret_position - caret_position_for_line_index(line_number - 1) + 1
|
39
|
+
update_line_number_from_caret_position(new_caret_position)
|
43
40
|
end
|
44
41
|
observe(self, :line_number) do |new_line_number|
|
45
42
|
line_index = line_number - 1
|
@@ -55,6 +52,16 @@ module Glimmer
|
|
55
52
|
end
|
56
53
|
end
|
57
54
|
|
55
|
+
def update_line_number_from_caret_position(new_caret_position)
|
56
|
+
new_line_number = line_index_for_caret_position(caret_position) + 1
|
57
|
+
current_line_number = line_number
|
58
|
+
unless (current_line_number && current_line_number == new_line_number)
|
59
|
+
self.line_number = new_line_number
|
60
|
+
# TODO check if the following line is needed
|
61
|
+
self.line_position = caret_position - caret_position_for_line_index(line_number - 1) + 1
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
58
65
|
def path=(the_path)
|
59
66
|
@path = the_path
|
60
67
|
generate_display_path
|
@@ -134,6 +141,7 @@ module Glimmer
|
|
134
141
|
|
135
142
|
def change_content!(value)
|
136
143
|
self.dirty_content = value
|
144
|
+
update_line_number_from_caret_position(caret_position)
|
137
145
|
end
|
138
146
|
|
139
147
|
def start_command
|
@@ -504,20 +512,20 @@ module Glimmer
|
|
504
512
|
end
|
505
513
|
|
506
514
|
def run
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
|
511
|
-
|
512
|
-
load path
|
513
|
-
end
|
514
|
-
rescue SyntaxError, StandardError => e
|
515
|
-
puts e.full_message
|
515
|
+
if scratchpad?
|
516
|
+
eval content
|
517
|
+
else
|
518
|
+
write_dirty_content
|
519
|
+
load path
|
516
520
|
end
|
517
521
|
end
|
518
522
|
|
519
523
|
def lines
|
520
|
-
dirty_content.
|
524
|
+
need_padding = dirty_content.to_s.end_with?("\n")
|
525
|
+
splittable_content = need_padding ? "#{dirty_content} " : dirty_content
|
526
|
+
the_lines = splittable_content.split("\n")
|
527
|
+
the_lines[-1] = the_lines[-1].strip if need_padding
|
528
|
+
the_lines
|
521
529
|
end
|
522
530
|
|
523
531
|
def line_for_caret_position(caret_position)
|
@@ -527,7 +535,7 @@ module Glimmer
|
|
527
535
|
def line_index_for_caret_position(caret_position)
|
528
536
|
dirty_content[0...caret_position.to_i].count("\n")
|
529
537
|
end
|
530
|
-
|
538
|
+
|
531
539
|
def caret_position_for_line_index(line_index)
|
532
540
|
cp = lines[0...line_index].join("\n").size
|
533
541
|
cp += 1 if line_index > 0
|