199 Commits

Author SHA1 Message Date
Kovid Goyal
6d7df1c5e8
Refactor configuration file parsing
Now the time for importing the kitty.config module has been halved, from
16ms from 32ms on my machine. Also, the new architecture will eventually
allow for auto generating a bunch of python-to-C boilerplate code.
2021-05-31 17:40:49 +05:30
Kovid Goyal
fe94f4cbb4
Move type parsers for config into own module 2021-05-24 22:29:28 +05:30
Kovid Goyal
3b1d534f6d
The parser doesnt need the full defaults object 2021-05-24 14:01:50 +05:30
Kovid Goyal
c6c203da43
Remove unused imports 2021-05-23 11:48:30 +05:30
Kovid Goyal
32f6f18527
DRYer 2021-05-23 11:22:29 +05:30
Kovid Goyal
ac2a01fb09
Implement documentation generation and conf file generation for mouse actions 2021-05-10 14:27:45 +05:30
Kovid Goyal
42a7023203
Fix #3332 2021-02-21 13:18:48 +05:30
Kovid Goyal
fe07306ff1
Use a nicer decorator for functions that only need to be run once 2021-02-05 10:40:52 +05:30
Kovid Goyal
9cf5348c36
Modify ImageMagick wrapper to handle animated images 2021-02-01 14:12:26 +05:30
Kovid Goyal
df89266c03
diff kitten: Implement recursive diff over SSH
Fixes #3268
2021-01-28 14:23:56 +05:30
Kovid Goyal
9c6ba213f9
Fix key handling in diff kitten 2021-01-16 20:52:14 +05:30
Kovid Goyal
027c5a57f1
Work on porting kittens to use new key infrastructure
Also move type definitions into their own module
2021-01-16 20:52:14 +05:30
Tomas Krizek
dbe44c9e4b
kitten/diff: allow specifying none color for select_fg
Allow diff kitten to not override foreground color for selections.

Related #1358
2021-01-01 23:25:06 +01:00
Kovid Goyal
f52c843fa2
Add support for placement id to GraphicsCommand 2020-12-02 05:35:57 +05:30
Kovid Goyal
75a94bcd96
Improving MIME type detection for some common file types when they are missing from the system MIME database
Also allow the user to specify their own database via mime.types in the
kitty config directory. See #3056
2020-10-25 13:42:11 +05:30
Kovid Goyal
efca2658ea
Fix typing issues pointed out by updated mypy 2020-10-12 23:03:07 +05:30
Kovid Goyal
2c6e5a6e73
Get multiprocessing working in kitty
Monkeypatch the stdlib multiprocessing module to
use kitty as its python interpreter for spawning worker
processes.
2020-06-21 14:47:24 +05:30
Kovid Goyal
e07916425e
macOS: Fix for diff kitten not working with python 3.8
Fixes #2780
2020-06-20 19:03:45 +05:30
Kovid Goyal
0e2ff077af
Fix #2682 2020-05-23 09:03:44 +05:30
Kovid Goyal
4e7bf80447
diff kitten: New option to control the background color for filler lines in the margin
Fixes #2518
2020-04-08 20:42:49 +05:30
Kovid Goyal
8f1c6c4d74
Fix #2482 2020-03-26 00:53:19 +05:30
Kovid Goyal
eddd45bbc3
diff kitten: Fix images losing position when scrolling using mouse wheel/touchpad 2020-03-19 18:46:10 +05:30
Kovid Goyal
c912eef040
Minor strictness increases 2020-03-14 14:59:31 +05:30
Kovid Goyal
149ae2866a
more typing work 2020-03-12 08:10:51 +05:30
Kovid Goyal
2ebdf738ca
more typing work 2020-03-11 20:08:16 +05:30
Kovid Goyal
8ae110691e
More typing work 2020-03-09 21:06:13 +05:30
Kovid Goyal
afec07b124
More typing work 2020-03-06 14:19:46 +05:30
Kovid Goyal
f05890719d
Add type checking for the various CLI options objects 2020-03-05 15:47:12 +05:30
Kovid Goyal
ec8c96b8e6
diff kitten: Highlight pyi files as python 2020-03-04 11:52:58 +05:30
Kovid Goyal
36eb52424f
No top level typing issues for kittens 2020-03-04 07:49:28 +05:30
Kovid Goyal
5730ce5f53
More typing work 2020-03-03 20:18:24 +05:30
Kovid Goyal
27524bfc3d
Restore global key definitions so as not to break third party kittens that might use them 2020-03-03 15:06:10 +05:30
Kovid Goyal
8843ded1c9
Refactor key encoding
Cannot have key names in global namespace as not all key names are valid
python identifiers. So move them into a dict.
2020-03-03 14:54:30 +05:30
Kovid Goyal
d6d01102fe
diff kitten: Fix directory diffing with removed binary files failing
Fixes #2378
2020-02-19 19:53:19 +05:30
Kovid Goyal
802da7087c
diff kitten: Allow diffing remote files easily via ssh
See #727
2019-10-04 09:08:22 +05:30
Luflosi
2b095f720e
Use "with suppress()" to suppress python exceptions
Using
```Python
with suppress(OSError):
    os.remove('somefile.tmp')
```
instead of
```Python
try:
    os.remove('somefile.tmp')
except OSError:
    pass
```
makes the code more compact and more readable IMO.

This pattern was recommended by Raymond Hettinger, a Python Core
Developer in his talk "Transforming Code into Beautiful, Idiomatic Python" at https://www.youtube.com/watch?v=OSGv2VnC0go. The transcript is available at https://github.com/JeffPaine/beautiful_idiomatic_python
2019-06-03 12:27:43 +02:00
Luflosi
a792c94ccf
Use python3 shebang for all python scripts
Fixes #1624.
Use python3 shebang for all python scripts as python still defaults to python2 on many systems.
2019-05-20 14:44:24 +02:00
Luflosi
3b34cec64c
Consistent case for color codes 2019-02-25 14:47:14 +01:00
Kovid Goyal
6b6dea5190
... 2019-01-19 13:51:18 +05:30
Kovid Goyal
5af551c96d
macOS: Fix detection of differ
There can be a wrapper git on macOS that complains about command line
tools installation, so check that passing --help to it actually works.
2019-01-19 12:36:34 +05:30
Kovid Goyal
3bddb9d95b
Fix an exception when chaging diff context on very small diffs 2019-01-16 21:24:34 +05:30
Kovid Goyal
3bd45966c6
diff kitten: Fix spurious traceback on exit when pygments is missing
Fixes #863
2018-09-06 06:05:08 +05:30
Kovid Goyal
e05d48a574
Also prevent long running diff workers from causing a hang on exit 2018-08-04 17:51:33 +05:30
Kovid Goyal
927bfcd37a
Use only a single diff executor 2018-08-04 17:46:05 +05:30
Kovid Goyal
42cabace47
Better fix for long running highlight workers 2018-08-04 17:41:37 +05:30
Kovid Goyal
9a1f14d05c
diff kitten: Do not highlight extremely large files
python's asyncio module has no way to tell a process executor object to
kill its worker processes, so highlighting very large files cause the
kitten to hang around o exit till the highlighting is done
2018-08-04 17:30:45 +05:30
Kovid Goyal
f018e1a075
Nicer check for is_binary 2018-07-28 14:02:01 +05:30
Kovid Goyal
8a812c9d02
diff kitten: Fix error when only RHS file is a binary file
Fixes #752
2018-07-28 13:59:32 +05:30
Kovid Goyal
feb97b2313
Use asyncio for jobs in the diff kitten 2018-07-15 16:09:52 +05:30
Kovid Goyal
491f233d33
diff kitten: When triggering a search scroll to the first match automatically 2018-06-19 10:30:52 +05:30