Commit graph

284 commits

Author SHA1 Message Date
Kovid Goyal
341d845b9a
Port calls to slices.Sort functions since they now need a cmp() function rather than a less() function
Also rename os.SEEK_* to io.Seek* as the former has been deprecated
2023-08-04 22:50:13 +05:30
Kovid Goyal
93ae6e962f
Fix infinite loop in text for current mouse selection 2023-07-24 12:56:02 +05:30
Kovid Goyal
e59e42a6c2
simplify API of utils.Once 2023-05-26 22:42:07 +05:30
Kovid Goyal
5e6d020275
Show proper error message in diff when failing to load image 2023-05-24 22:47:14 +05:30
Kovid Goyal
8f96395f74
diff kitten: Fix a regression in 0.28.0 that broke using relative paths as arguments to the kitten
Fixes #6235
2023-05-03 08:34:46 +05:30
Kovid Goyal
3ee77a3a57
Fix #6154 2023-04-04 21:18:27 +05:30
Kovid Goyal
e07f2df8d0
Fix rendering of file added/removed lines 2023-04-03 11:07:51 +05:30
Kovid Goyal
bca67cde6f
Fix default for syntax_aliases not being respected 2023-04-02 15:07:41 +05:30
Kovid Goyal
dfa41f01fd
Fix panic caused by incorrectly constructed empty line
Also be more defensive in draw_screen() about rendering lines.
2023-04-02 10:18:23 +05:30
Kovid Goyal
e0cdc26e68
Fix placement of images in diff broken by new render layout 2023-03-30 11:21:28 +05:30
Kovid Goyal
e73282ceb0
Only send graphics protocol commands if there are actual images to diff 2023-03-30 11:06:44 +05:30
Kovid Goyal
9919767aef
Remove unused code 2023-03-30 10:26:39 +05:30
Kovid Goyal
c767f7b57f
... 2023-03-30 07:58:00 +05:30
Kovid Goyal
34526517de
Allow passing multiple options to control how wrapping is done 2023-03-29 20:56:24 +05:30
Kovid Goyal
7169a89591
Add shortcuts for copying to clipboard 2023-03-29 19:56:08 +05:30
Kovid Goyal
37edc728a9
Implement drag scrolling for the diff kitten 2023-03-29 17:14:13 +05:30
Kovid Goyal
aebfdaa69a
Refactor diff mouse selection to use new render layout 2023-03-29 14:32:36 +05:30
Kovid Goyal
468168b9de
Refactor diff search to use new render layout 2023-03-29 13:22:34 +05:30
Kovid Goyal
3dbb830a0e
Refactor diff rendering
Dont store full rendered lines, instead fill them up at actual draw
time. Makes implementing mouse selection and searching more robust.
2023-03-29 11:55:03 +05:30
Kovid Goyal
7ed7e82637
Use a filler char other than space 2023-03-28 18:01:04 +05:30
Kovid Goyal
67a9def013
Get copy to primary selection working 2023-03-28 17:15:28 +05:30
Kovid Goyal
8867818dfe
DRYer 2023-03-28 11:55:08 +05:30
Kovid Goyal
00d4841304
Make the mouse selection code re-useable 2023-03-28 11:48:22 +05:30
Kovid Goyal
277dea647e
More work on mouse selection 2023-03-28 10:29:45 +05:30
Kovid Goyal
45c1e36de9
More work on mouse selection 2023-03-28 08:10:29 +05:30
Kovid Goyal
d19f28f2b4
More work on mouse selection in the diff kitten 2023-03-27 21:23:31 +05:30
Kovid Goyal
80204c6056
Use join_half_lines in a few more places 2023-03-27 18:01:53 +05:30
Kovid Goyal
d33b83e6ea
More work on mouse selections 2023-03-27 17:56:00 +05:30
Kovid Goyal
a22933afbc
DRYer 2023-03-27 17:19:13 +05:30
Kovid Goyal
840caf5fd5
Start work on mouse handling in diff kitten 2023-03-27 17:06:56 +05:30
Kovid Goyal
ff55121094
Move the kittens Go code into the kittens folder 2023-03-27 13:06:02 +05:30
Kovid Goyal
d30091034a
Remove the python diff kitten 2023-03-27 11:46:22 +05:30
Kovid Goyal
2ac170c1b1
Allowing using the anchored diff from the Go stdlib as the diff implementation 2023-03-27 07:53:56 +05:30
Kovid Goyal
44ff6bd1dd
Start work on porting diff kitten 2023-03-27 07:53:53 +05:30
Kovid Goyal
7acc6bdeb8
Move splitlines_like_git to a more appropriate home 2023-03-10 17:26:06 +05:30
Kovid Goyal
16c7681c7c
diff kitten: Speedup patch parsing by working with bytes rather than unicode
Also change the line split algorithm to only split on \n, \r and \r\n.
This is hopefully closer to what git/diff generate in their patch files.
I cant find any documentation specifying this however.

Fixes #6052
Fixes #6092
2023-03-06 09:55:55 +05:30
Kovid Goyal
fbfb779a19
Clarify what pygments style does 2023-02-20 16:38:22 +05:30
Kovid Goyal
836b652f4d
Enable checks for unused noqa 2023-01-09 17:28:35 +05:30
Kovid Goyal
6e41409a3f
Dont run isort on generated conf files 2023-01-09 16:51:59 +05:30
Kovid Goyal
7fe5d7b58f
Replace isort with ruff 2023-01-09 16:47:42 +05:30
Kovid Goyal
a068e3e655
Fix issues reported by ruff 2023-01-09 15:54:41 +05:30
Kovid Goyal
1b5fac3189
Cleanup previous PR 2023-01-06 14:25:21 +05:30
TrellixVulnTeam
1223130ef7 Adding tarfile member sanitization to extractall() 2023-01-06 08:07:51 +00:00
pagedown
a131f9a82e
Refactor: Use a consistent name for beam cursor shape 2022-11-19 10:34:50 +08:00
Kovid Goyal
7737369fc9
Add completion for the kittens 2022-11-14 15:41:58 +05:30
Kovid Goyal
b247759d30
DRYer 2022-09-11 13:15:42 +05:30
pagedown
0d116e6ef0
Use four spaces to indent 2022-08-08 22:31:55 +05:30
pagedown
c3df6d2fe3
Remove executable perms from kitten files 2022-06-28 11:59:47 +08:00
Kovid Goyal
79f7954048
Cleanup previous PR 2022-06-06 17:19:52 +05:30
Suvayu Ali
20b6a97159 Update in response to feedback
- one configuration option: ignore_paths
- use shlex to parse option to support whitespace and in-line comments
- change option type to Tuple[str, ...]
- remove ignored directories from dirnames to prevent scanning
2022-06-06 11:00:45 +02:00
Suvayu Ali
eea652f1d0 kittens/diff: move empty pattern check to dir tree walk 2022-06-05 10:11:21 +02:00
Suvayu Ali
fbf1ec43c7 diff kitten: add options to ignore paths when comparing directories
Tested locally & over SSH:

    $ kitty +kitten diff /local/path /local/path2
    $ kitty +kitten diff /local/path ssh:remote:/path
2022-06-05 00:11:30 +02:00
pagedown
bb78dc5ccb
Docs: Fix the help text of query_terminal and other minor tweaks
Use --match-tab in broadcast kitten example.
2022-04-29 01:30:45 +08:00
Kovid Goyal
1a2d9c6fba
Fix a couple of issues highlighted by updated mypy 2022-04-28 07:03:35 +05:30
pagedown
510022c3c1
Docs: Improve the documentation for kittens
Add more text roles and links.
Add an example that broadcasts only to other windows in the current tab.
Initial capitalization of the key names in the kbd text role.
Add Python type hints for custom kittens.
Note about hyperlink support for ls on macOS.
Add description text for show_key.
2022-04-27 16:14:54 +08:00
Kovid Goyal
6174c2008f
... 2022-04-20 10:10:05 +05:30
Kovid Goyal
402fac3edf
... 2022-04-19 10:53:18 +05:30
Kovid Goyal
ff80b906d0
Report full traceback when highlighting fails 2022-03-24 11:39:31 +05:30
pagedown
8e03da855f
diff kitten: Fix wrong number of scrolling lines after context switch 2022-03-14 20:29:15 +08:00
Kovid Goyal
846021296f
Start work on config infrastructure for ssh kitten 2022-03-03 21:24:44 +05:30
pagedown
4a3ed62809
Refactor: More f-string for kittens 2022-01-29 20:23:34 +08:00
pagedown
dc61adf9d8
Refactor: More f-string 2022-01-28 19:34:13 +08:00
Kovid Goyal
f9a4b6bb0d
Use an enum for state as well 2022-01-18 13:58:55 +05:30
Kovid Goyal
f1fbfe297d
Use an enum for background work 2022-01-18 13:50:05 +05:30
Kovid Goyal
2c0ac895e6
diff kitten: Fix exiting while highlighting is incomplete causes kitten to hang until highlighting is done 2022-01-18 13:43:39 +05:30
pagedown
afa0bb4c1d
Avoid using the same variable name in different scopes
Variable names such as a and b are also used in the MIN and MAX macros.
2022-01-03 16:11:20 +08:00
Kovid Goyal
be771456e1
Dont shadow global variable name 2022-01-02 08:59:34 +05:30
pagedown
4a7ae0f524
Docs: use pygments styles official website url 2021-12-08 17:20:13 +08:00
Kovid Goyal
56ea741126
Nicer repr for key definitions 2021-11-23 18:19:34 +05:30
Kovid Goyal
2443dc135c
Use a faster implementation of the Color type
Now implemented in C
2021-10-28 11:15:13 +05:30
Kovid Goyal
a26f041964
Add more type annotations 2021-10-27 12:31:10 +05:30
Kovid Goyal
b22bda3cba
Add more type annotations 2021-10-27 11:36:34 +05:30
Kovid Goyal
6f19fd5912
Add more type annotations 2021-10-27 10:50:24 +05:30
Kovid Goyal
4494ddd8ff
mypy: Turn on return value checks
Its a shame GvR is married to "return None"
https://github.com/python/mypy/issues/7511
2021-10-26 22:39:14 +05:30
Kovid Goyal
4385acd3c6
A new option to set the tab bar margin color independently 2021-10-25 12:21:46 +05:30
Kovid Goyal
6546c1da9b
run pyupgrade to upgrade the codebase to python3.6 2021-10-21 12:43:55 +05:30
Kovid Goyal
e50c26d1b9
Allow using a non-toal dict to init Options objects 2021-08-04 17:06:50 +05:30
Kovid Goyal
be34af4555
Remove inline from .c files
It is ignored by compilers and hides unused static functions
2021-08-03 09:11:17 +05:30
Kovid Goyal
1bd39ff935
Use new URL scheme and define the kitty website centrally as much as possible 2021-07-27 09:03:11 +05:30
Kovid Goyal
d052b020fa
Check for dirs when getting mimetypes in a couple more places 2021-07-16 21:49:02 +05:30
Kovid Goyal
1ec07eb17a
diff kitten: Remove limit on max line length of 4096 characters
Fixes #3806
2021-07-07 07:27:42 +05:30
Kovid Goyal
a1b87f445b
Store the paths from which config data is read on the created options object 2021-06-05 12:55:00 +05:30
Kovid Goyal
1c8b7955eb
Have gen-config output action names as comments 2021-06-05 12:20:43 +05:30
Kovid Goyal
8f491e7dbb
Add newslines at end of generated files and do imports in sorted order 2021-05-31 17:45:02 +05:30
Kovid Goyal
3e598a17cf
Add headers to options def files 2021-05-31 17:40:49 +05:30
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