Luke I. Wilson
ccb096a3f6
Add GotoLineDialog and Search->Go to line functionality
2021-04-04 20:00:47 -05:00
Luke I. Wilson
3982628653
Ran go fmt *.go
on all sources
2021-04-04 13:15:31 -05:00
Luke I. Wilson
e115855491
TextEdit highlighting: update lang definition
2021-04-04 11:09:34 -05:00
Luke I. Wilson
0c44bd0312
Fix nil ptr bug
...
Something weird was happening with keeping a global interface
tcell.Screen. Instead, decided to keep a global pointer to interface
*tcell.Screen. I suspect the Go compiler did not see that screen
was supposed to escape to the heap, and so it was kept as a main()
function-scope variable.
2021-04-04 10:34:55 -05:00
Luke I. Wilson
ca68b8d7fa
TextEdit: naive fix to rendering selection around hard tabs
2021-04-04 09:36:56 -05:00
Luke I. Wilson
0e0f4b9339
Replaced background style
2021-04-04 08:33:42 -05:00
Luke I. Wilson
28e9af70eb
InputField: replace buffer with byte buffer and update appearance
2021-04-04 08:30:09 -05:00
Luke I. Wilson
1b50aff0c6
Main: fix cut selection deleting selection before copying.
2021-04-02 15:05:59 -05:00
Luke I. Wilson
d1dd389dba
Main: more robust error handling.
...
Previously, the editor would panic at any error. After I recently
implemented dialogs, I changed all panics to create error dialogs,
instead. This will make the editor more stable.
2021-04-02 14:30:38 -05:00
Luke I. Wilson
f64af6fa29
DrawStr: made more efficient and renders newline characters
...
Before, DrawStr would copy all bytes into a []rune slice, and later
copy the rune slice (by accident) in the for i, v := range loop. Now,
it uses a []byte slice and iterates with for i := range slice.
2021-04-02 13:30:37 -05:00
Luke I. Wilson
9192d35b3c
Implement Save As and have Save redirect to Save As when the file is unnamed
2021-04-01 21:07:28 -05:00
Luke I. Wilson
7ce5096952
Add menu entries to Search menu
2021-04-01 20:42:22 -05:00
Luke I. Wilson
0dcdd62773
UI: removed WindowContainer, and replaced it with DrawWindow function
2021-04-01 20:34:18 -05:00
Luke I. Wilson
a4d5f3ccf4
Highlighter: fix bug causing out of bounds access when endLine > len of internal lines
2021-04-01 16:19:14 -05:00
Luke I. Wilson
239793aa2c
Rope test: add case for TestRopeSlice
2021-04-01 16:16:47 -05:00
Luke I. Wilson
25f5262b6a
Rope: fix bug in Slice() causing out-of-bounds access
2021-04-01 16:14:39 -05:00
Luke I. Wilson
2cd41fc62d
TextEdit: update highlighting for .go files, make strings lazy match
2021-04-01 14:40:38 -05:00
Luke I. Wilson
58c8de3068
Rope: Added LineColToPos, and optimized Highlighter's UpdateLines()
2021-04-01 14:16:51 -05:00
Luke I. Wilson
f829b37d0c
TextEdit & Highlighting: performance improvements & changes to architecture
...
I ran pprof to find what was causing stuttering, and found it to be the
getTabCountInLineAtCol function in TextEdit, because it was iterating
many bytes of the buffer, for each rune rendered. Replaced it with a more
optimal system. Also changed the architecture of the highlighting system
to use a single RegexpRange structure for all regular expressions. This
allows for optimizations and multiline matches in the future.
2021-04-01 12:05:17 -05:00
Luke I. Wilson
37589144b5
TextEdit: Add syntax highlighting for Go files
2021-03-30 23:00:32 -05:00
Luke I. Wilson
aaf377ccd5
TextEdit: account for tab offsets when highlighting
2021-03-30 22:21:56 -05:00
Luke I. Wilson
de921419ce
Rope buffer tests: remove unnecessary 't.Fail()` everywhere
2021-03-30 22:17:41 -05:00
Luke I. Wilson
cdf10cdd3c
Merge branch 'main' of github.com:fivemoreminix/qedit
2021-03-30 22:14:54 -05:00
Luke I. Wilson
a79227e97c
Rope buffer: Fix bug in PosToLineCol and add test case
2021-03-30 22:14:02 -05:00
Luke I. Wilson
a90a367122
TextEdit: Replaced line-based rendering with character-based rendering.
...
With line-based rendering, it was more efficient but we were unable
to perform syntax highlighting, or more specifically, individual character
stylings. With this change, the rendering is likely to be slightly less
performant (because it is not as simple as string slicing) but much more
powerful.
2021-03-30 20:44:09 -05:00
Luke I. Wilson
9a85e8efef
Create and initialize Highlighter in TextEdit
2021-03-27 13:42:11 -05:00
Luke I. Wilson
1161888660
Made quick chars use an index
2021-03-25 11:27:43 -05:00
Luke I. Wilson
e8318673aa
Update year
2021-03-24 22:27:25 -05:00
Luke I. Wilson
d11ec4a855
Update README.md
2021-03-24 22:26:17 -05:00
Luke I. Wilson
d01bb415a4
Add screenshots
2021-03-24 22:19:47 -05:00
Luke I. Wilson
d508d8a880
New README
2021-03-24 22:17:40 -05:00
Luke I. Wilson
8d532fd9b7
Renamed diesel to qedit
2021-03-24 18:37:12 -05:00
Luke I. Wilson
d47e407063
Fixed bug in saving files: was missing os.O_TRUNC bit flag
2021-03-24 17:47:13 -05:00
Luke I. Wilson
9133ab55d0
Bounds check delete regions in rope buffer
2021-03-24 11:40:18 -05:00
Luke I. Wilson
296fa8b4ac
Remove comment
2021-03-23 18:47:58 -05:00
Luke I. Wilson
3be12bdff1
Use Buffer.WriteTo method for writing buffer to file
2021-03-23 18:13:55 -05:00
Luke I. Wilson
40e1b40672
Add and replace []string buffer with ropes
2021-03-23 15:14:23 -05:00
Luke I. Wilson
bd6f1cf79e
Added RopeBuffer Buffer implementation
2021-03-22 16:10:23 -05:00
Luke I. Wilson
817b2c66c4
Complete revamp of shortcut system in Menu
2021-03-20 23:10:23 -05:00
Luke I. Wilson
3cf168355a
Remove barFocused boolean from main loop
2021-03-20 21:56:25 -05:00
Luke I. Wilson
8db551ceae
Bug fix with focusing wrong component after using menu item
2021-03-20 21:51:34 -05:00
Luke I. Wilson
119aac195e
Bug fixes for previous features
2021-03-20 18:03:38 -05:00
Luke I. Wilson
df106cbbff
Render shortcuts on Menus
2021-03-20 17:35:32 -05:00
Luke I. Wilson
ce66bc4bc6
Added shortcut keys possibility to Menus
2021-03-20 16:22:06 -05:00
Luke I. Wilson
fefa34c2b6
Add ItemSelectedCallback to MenuBar & make Menus field private
2021-03-20 14:53:41 -05:00
Luke I. Wilson
bc08505fa8
Show dirty TextEdit tabs
2021-03-20 13:46:44 -05:00
Luke I. Wilson
ca4a847547
Allow non-existant files in command-line args
2021-03-20 13:36:26 -05:00
Luke I. Wilson
6e97e8345a
Add status bar
2021-03-19 21:57:49 -05:00
Luke I. Wilson
70d734e8e2
Added using tab to move cursor in MenuBar and Menu
2021-03-19 20:21:46 -05:00
Luke I. Wilson
5625e8b48f
Refactored cursor movement in MenuBar
2021-03-19 20:12:19 -05:00