Commit graph

70 commits

Author SHA1 Message Date
7138a3c08c editor: Color the parts list with the theme
- Can change theme while parts list is showing.
- Added more themes.
- Added a botom dividing line to the parts list.
- Parts aren't always classes or functions.
- Also tidied up theme related code
  - Always using Code class and the TextLexer if theres no lexer
    for the file.
  - Not nesting parse_rgb and charstyle_for_token_type.
2022-06-28 10:11:38 +10:00
04aeacac14 Coding style
- Add a version counter to the text widget.
- Only adding to history if the action changes the version counter.
- Don't recalculate the diff if the version stays the same.
2022-06-23 22:07:21 +10:00
eb5254961b Only recalculate diff after change actions 2022-06-21 19:37:59 +10:00
aa9c43d0db editor: Always show the cursor 2022-06-13 14:15:43 +10:00
47e303aa3b Coding style
- Rename Editor -> TextEditor
- Rename IDE -> TextFilesEditor
2022-06-12 21:26:58 +10:00
fb8b796172 Remove selection when the text changes 2022-06-12 21:18:41 +10:00
0d5905113e Add multi-file editor 2022-06-12 17:30:14 +10:00
d3e78d91bc Fix parts browser for files with no lexer 2022-06-12 17:27:29 +10:00
5b2021c132 Coding style
- Use staticmethod where possible.
2022-05-28 22:37:57 +10:00
2e96cede00 Coding style
- Use latest versions of dependencies.
  - Portal content can be center aligned.
2022-05-26 14:46:11 +10:00
20f8d4ad44 Coding style
- Split add_highlights.
- Minimise try-except scope.
- Move test into correct class.
- Make some methods private.
2022-05-16 00:27:46 +10:00
324e3a8c68 Coding style
- lines too long.
- Unnecessary 'if'.
2022-05-13 14:29:26 +10:00
d0a73b89b6 Coding style
- Cleanup and optimize text widget.
  - max_line_length is fully calculated less often.
2022-05-13 10:16:30 +10:00
8ed82c768b Update pip install commands to workaround new pip resolver
- lscolors dependency is now a package containing the LSCOLORS
  database and the path_colored function.
- The new pip dependency resolver finds a conflict with fill3 and
  lscolors both depending on termstr, eventhough its the same
  version of termstr??
2022-05-11 23:04:41 +10:00
41120f7e81 editor: Colourise the file name in the header
- Using a dark grey background for contrast with most colors.
2022-04-30 14:17:35 +10:00
239b2b9aaf editor: Deactivate selections while undoing 2022-04-29 19:51:57 +10:00
80c05a1dfd editor: Do redo the emacs way
- Less surprising for emacs users.
- Safer since doesn't lose any history when editing after undoing.
2022-04-29 19:32:05 +10:00
8b65489577 editor: Add redo command
- Used ctrl-/ because ctrl-y was already taken for paste.
- Must use ctrl-z for undo now.
2022-04-29 11:14:11 +10:00
36450586a4 editor: Add backspace to change actions 2022-04-28 22:21:21 +10:00
2828d34a6a Coding style 2022-04-28 22:20:18 +10:00
2aae3ec730 editor: Only add to undo history when text changes 2022-04-28 22:08:08 +10:00
1d37c8b147 Coding style
- Add functions converting between model and screen x-coordinates.
2022-04-27 16:16:49 +10:00
2355358816 editor: Add a class and function browser 2022-04-19 11:23:32 +10:00
aaa1680dbe Coding style 2022-03-15 18:19:19 +10:00
83b0dcc002 Fix crash when cursor moves off the screen when window resized
- Drawing as much as possible of the highlights.
2022-03-15 11:54:13 +10:00
365a76c4ed Fix crash when switching to non-existant line
- When switching from an insert area at the bottom of a file.
2022-03-15 10:21:23 +10:00
183381df57 Coding style 2022-03-12 17:30:06 +10:00
3cb877406f Coding style 2022-03-12 14:28:42 +10:00
80048c64f8 Optimize editing large files
- Fixed slow editing on large files.
  - Only calculating appearance of lines that are seen.
  - Not resizing all lines when max line length changes.
- Fast changing of syntax highlighting themes.
- Faster startup, since not highlighting all lines.
2022-03-11 19:20:51 +10:00
938a086188 editor: Fix incorrent max line length
- That optimisation was too optimistic.
2022-03-08 14:08:09 +10:00
d5da66e7a3 editor: Fix slowdown on large files
- Slowdown seen with undo. Each undo needs syntax highlighting
  of everything again.
- Added caches for speed up.
2022-03-08 13:49:57 +10:00
87e62e8570 Fix crashes during scrolling
- Occured due to negative scroll positions or not finding the
  equivalent line in the other editor.
2022-03-08 10:06:47 +10:00
7986f1c7d9 editor: Fix syntax highlighting of wide characters in tabs
- Needed a wide character aware expandtabs.
2022-03-06 22:43:21 +10:00
9ac5e0e017 editor: Fix wide characters
- Display correctly.
- Fix cursor movement.
- Work correctly with tabs.
2022-02-23 23:00:21 +10:00
3dd181b27a editor: Allow tabs 2022-02-16 19:40:39 +10:00
27edc9e797 Coding style
- Let double key commands be specified with tuples.
2022-02-07 21:11:18 +10:00
d5f57f326c Coding style
- Put back function where its meant to be.
2022-02-03 22:58:16 +10:00
c0bdb52391 editor: Add indent and dedent commands 2022-01-31 19:42:59 +10:00
af621a6be0 editor: Fix overwriting mode side effects
- insert_text normally shouldn't always overwrite when in
  overwriting mode.
2022-01-29 10:44:25 +10:00
dfe075b11c editor: Add overwriting mode
- Using latest version of fill3 that recognizes the insert key.
2022-01-28 19:42:55 +10:00
6254e77275 Coding style
- Remove unnecessary scroll limiting code. Its now done in the
  portal.
2022-01-27 16:57:16 +10:00
c419f69d81 editor: Right align left editor using scroll limited portal 2022-01-24 23:10:44 +10:00
2504dd0cff Right align the left editor 2022-01-21 09:20:57 +10:00
f8a3fc0bff editor: Show a normalized path in header bar
- This generally keeps the path as given but simplifies it if possible.
2022-01-18 18:42:04 +10:00
dad2a59bca Coding style
- Rename appearance_min to appearance.
2022-01-18 16:37:17 +10:00
45af588792 Coding style
- Rename appearance to appearance_for.
2022-01-18 16:32:58 +10:00
d9e95c1485 editor: Fix all lines to have same background width 2022-01-17 22:22:16 +10:00
d57b5a5a9a editor: Correctly syntax highlight based on file type.
- If a file type isn't recognized by pygments, don't syntax highlight.
2022-01-14 11:01:11 +10:00
2876aab6c8 editor: Let ctrl-z also mean undo
- ctrl-z was free and many people would try for ctrl-z first.
2022-01-14 10:06:42 +10:00
0c7f5272ae editor: Not currently using asyncio debug mode. 2022-01-13 21:32:33 +10:00