12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- #!/usr/bin/env python
- # License: GPLv3 Copyright: 2021, Kovid Goyal <kovid at kovidgoyal.net>
- import sys
- from typing import List
- from kitty.cli import CompletionSpec
- help_text = (
- 'Change the kitty theme. If no theme name is supplied, run interactively, otherwise'
- ' change the current theme to the specified theme name.'
- )
- usage = '[theme name to switch to]'
- OPTIONS = '''
- --cache-age
- type=float
- default=1
- Check for new themes only after the specified number of days. A value of
- zero will always check for new themes. A negative value will never check
- for new themes, instead raising an error if a local copy of the themes
- is not available.
- --reload-in
- default=parent
- choices=none,parent,all
- By default, this kitten will signal only the parent kitty instance it is
- running in to reload its config, after making changes. Use this option
- to instead either not reload the config at all or in all running
- kitty instances.
- --dump-theme
- type=bool-set
- default=false
- When running non-interactively, dump the specified theme to STDOUT
- instead of changing kitty.conf.
- --config-file-name
- default=kitty.conf
- The name or path to the config file to edit. Relative paths are interpreted
- with respect to the kitty config directory. By default the kitty config file,
- kitty.conf is edited. This is most useful if you add :code:`include themes.conf`
- to your kitty.conf and then have the kitten operate only on :file:`themes.conf`,
- allowing :code:`kitty.conf` to remain unchanged.
- '''.format
- def main(args: List[str]) -> None:
- raise SystemExit('This must be run as kitten themes')
- if __name__ == '__main__':
- main(sys.argv)
- elif __name__ == '__doc__':
- cd = sys.cli_docs # type: ignore
- cd['usage'] = usage
- cd['options'] = OPTIONS
- cd['help_text'] = help_text
- cd['short_desc'] = 'Manage kitty color schemes easily'
- cd['args_completion'] = CompletionSpec.from_string('type:special group:complete_themes')
|