Henxel

Latest version: v0.3.2

Safety actively analyzes 633823 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 5

0.3.2

- Fixed fontchooser, for example the animation should work again

- If uncomment fails, cursor should now keep original position

- 'focus'-tag is now underlined

- Some fixing in comment and uncomment like comment or uncomment curline
without selection

- Search again backwards --> ctrl-shift-backspace,
still back to previous with arrow left but it has some
yet to be fixed issues likely to do something with check_sel

- Ctrl-Tab --> insert Tab

- Removed move _updownleftright() as unused and updated help

- When search, multilines (> 2 lines) are not autofilled as suggested search word

- Fix for: 'SyntaxWarning: invalid escape sequence' for one string in init.
due to 'new' string escaping rules in python 3.12

- Caps-Lock state(if on) is now showed in btn_git
It needed among other things bind to Motion to work

- There was issue: When search: after giving search word, then quickly pressing return and esc
--> state of editor locked to search.
This was fixed with checking if state is waiting in stop_search
This kind of issues should be also checked on other escapable callbacks
in the future.

- move_by_words and select_by_words now handle line ends better.

- Renamed copying and pasteing functions more clearly

- Copying now checks if user wants to copy a block and tries to keep
its shape when doing paste. This is in 'alpha' -condition

0.3.1

- Keywords for syntax highlighting are now from: import keyword.

- 'sel'-tag has now second highest priority only below focus.

- Control-backspace to search again now works again.

- Word-expander works now as Tab-completion, its expands over dot attributes,
like: self.at TAB --> self.attrib1, if self.attrib1 is already somewhere in contents.
It is quite usable.

- Removed binding ctrl_L-super_L-return to run file in return_override().

- Ctrl-q -> Ctrl-Q for del_tab: prevent closing tab without saving by accident.

- Cmd-ae -> goto_linestart/end, when in macOS, this is quite usable.

- Also in macOS: Cmd-(Shift)-Up/Down -> move/select 10 lines up/down. Also usable.
In Linux and Windows this is: Control-(Shift)-Up/Down and bind is to move_many_lines() instead
of mac_cmd_overrides(). Not tested in Windows, but hopes are that the states are right.

- In return_override, if line is empty, rstrip to cursor to fix indent sailing if
in middle of space.


- There were lot of issues with functions like select_by_words(), move_by_words() etc.
which changed selection. First fix was like:
self.contents.event_generate('<<SelectPrevWord>>')

But it was flashy at lineends (because needed to adjust selection later),
so ended up using <<PrevWord>> instead with:
self.contents.mark_set(self.anchor, idx).

It (that is: handling of selection changes) is now done right by setting
selection-start-mark or -anchor with:
self.contents.mark_set('tk::anchor1', '38.6').

The name of anchor changes if editor is launched multiple times in one Python-session,
so the current name is retrieved in init but there is still another problem:
this anchor does not exist if certain event has not occured before.

To get this working, the name of anchor is needed, it is done just before quite
similar fix for Windows, and it is ugly.


- When doing search and replace one can now copy text and select and adjust selection
with many functions like yank line, goto lineend etc.


- When doing search and replace:
space --> exit to focus
esc --> exit to start
double-click --> exit to cursor

- When doing replace: One can continue replacing even if focus is not in contents.
Replacement-string can now be changed in the middle of replacing.

- Status-messages of gotoline, search and replace are now in entry. This was done
for increase fullscreen usability. Git branch-name remains in btn_git and
tab-position remains in title.

- Editor is now aware if it is in fullscreen-mode. It is not used on anything.

- Editor now handles long strings better in entry, like filenames or searches.

- Small but important change in wait_for() to change state so that certain bindings
do not trigger while waiting.

- Added two tkinter-books to dev/books.

- Added screenshots to README, and removed 'more on virtual environments' -section
as potentially dangerous.

- Ctrl-q now quits with save when not in macOS, same way than cmd-q does in macOS.

- Updated helpfile

- Updated links to point to Tcl 9.0

0.3.0

- Fixed win_install_mkvenv
- Small fixes
- Ctrl-ju --> scroll downup without moving cursor, also at the end of the file.
- Walktabs is again alt-wq if not in macOS.

0.2.9

- Added win_install_mkvenv.py to /util which can be run in Windows with
py win_install_mkvenv.py

Running it creates:
create_scripts.bat
launched.bat
mkvenv.bat

in sys.prefix which hopefully is in the PATH.

Then one can do in Windows: mkvenv name_of_env.

That will install possible requirements also.
And mkvenv creates act.bat to root of venv that will activate venv.
And mkvenv creates launch_ed.bat to root of venv that will activate venv
and launch IDLE-shell and launch Henxel-editor if it is installed.
I no longer recommend installing pyreadline3 because it seems to not work
properly in Win10. Instead, using IDLE-shell has tab-completion and multiline
editing etc. Only that one can not change direction of prompt movement after
command execution. It now moves down and will eventually stay at the
bottom line. It would be preferable if prompt would move up instead,
and stay in the first line. One cannot clear screen in Windows so this is quite unfortunate.

- Small looks fixes.

- Alt -leftright now walks tabs in all OS-types. And Alt-wq closes editor
with save. This was done to increase cross-platform consistency in
shortcut-keys. It is also more easy to remember, maybe not so ideal though.

- Fixed move_by_words, select_by_words and yank_line for win10.

0.2.8

- Moved tcl-script, that fixes ctrl-rightleft behaviour for Windows, to better place.
So active tab should be safe now also in Windows.
- Tried 'lsappinfo metainfo' as a way to get terminal app name in macOS but it did not
work much faster so left as it was before: 'lsappinfo front' to get ASN and then
'lsappinfo info -only name'. Giving focus back to python terminal-window is not very
simple task in macOS. Currently tested with Terminal and iTerm2. It works quite ok now.
- OS-type is now determined as does IDLE-editor, copied it from there:

sys.platform == 'darwin'
sys.platform[:3] == 'win':
sys.platform.count('linux'):

This usage of module sys is nice addition, it was used very little before. Also now
there is no need to blindly try to find macOS terminal.
- Fix for: search_next would not work if holding ctrl down and repeatedly pressing backspace.
- Scrollbar is now little thinner if using macOS.
- Yank_line copies now whole line instead of just visible part of line.
- Added functions idx_linestart and -end to get effective indexes of the line.
- Added functions move_by_words and select_by_words which handles ctrl-leftright and
ctrl-shift-leftright behaviour in Linux and Windows and Alt-leftright and
Alt-shift-leftright behaviour in macOS. This was done to fix default handling of related
events near lineends.

0.2.7

- One can now yank line with ctrl- or cmd-y.
- Testing blockcursor -> normal cursor.
- Made padx and pady depend on font.measure instead of hardcoded values. Currently used only in contents and linenumbers.
- Clarified bindings after finding out that one can bind to Cmd with Mod1.
- Fixed goto_linestart -end etc. to make 'select line from' work.
- Not much else but wanted to release a little more working version.

Page 1 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.