| Age | Commit message (Collapse) | Author |
|
Adds commit 456f821 ("menuconfig: Improve look and readability of the
aquatic theme").
|
|
Cyan-on-blue for the path/help text is hard to read, especially on some
terminals.
Also remove bold, which looks a bit cleaner at a glance.
|
|
'node' isn't needed. Shaves some lookups.
|
|
Adds commit 24a0204 ("Include sys.argv[0] in error messages when
suppress_traceback=True").
|
|
Handy to have the script name appear in logs.
|
|
Oversight.
|
|
Shorter, clear in context.
|
|
Shorter, clear in context.
|
|
Move it into the step-by-step getting started instructions.
|
|
Error reporting improvements:
- Commit 1ec9170 ("Add Kconfig.__init__() helper flag for suppressing
tracebacks")
- Commit 2122d5d ("Include "error: " in parsing error messages")
listnewconfig improvement:
- Commit 7e6b9cf ("listnewconfig: Add option for showing help texts")
Also includes a load_allconfig() API improvement:
- Commit c2414bd ("Add a member function version of load_allconfig()")
|
|
Show the help text for each new symbol if --show-help/-l is passed (-h
might be confused for --help).
Copycat of commit 5d8b42aa7ccb ("kconfig: Add option to get the full
help text with listnewconfig") to the C tools, but with a slightly more
compact output format (indented help text instead of separators).
|
|
Tweak messages and variable names to match.
|
|
Oversight. Makes them easier to find in logs.
|
|
Tools that don't use standard_kconfig() currently generate spammy
tracebacks for e.g. syntax errors.
Add a suppress_traceback flag to Kconfig.__init__() for catching
"expected" exceptions and printing them to stderr and exiting with
status 1. Use it to make all tools consistently hide tracebacks.
|
|
There was no great reason for this function to be a global function to
begin with. Having it as a member function simplifies callers.
load_allconfig() is a bit special in that it fails with sys.exit(),
which is helpful for tools, but that probably doesn't influence where it
belongs.
Keep the global function for backwards compatibility. A deprecation
warning might be added at some point.
|
|
|
|
Moved in Zephyr.
|
|
Adds two small menuconfig robustness improvements:
- Commit 7020b86 ("menuconfig: Ignore MENUCONFIG_STYLE on non-color
terminals")
- Commit 4ea8b2b ("menuconfig: Ignore errors from
use_default_colors()")
|
|
Checking has_colors() isn't enough with with the winpty/msys2 setup in
https://github.com/msys2/MINGW-packages/issues/5823, though it seems a
bit broken.
ncurses looks for either the orig_pair or the orig_color terminal
capability, which is different from what has_colors() checks, so
probably shouldn't assume use_default_colors() work on color terminals
at least.
|
|
Clearer.
|
|
No need to check both os.name and sys.platform.
|
|
Assume that the environment is non-standard/broken on terminals that
don't support color, and that any custom styling applied to the
'monochrome' theme is likely to mess things up (though any colors will
be ignored).
The menuconfig really needs more than two colors to not look ugly
anyway, because of the borderless design.
|
|
Adds a menuconfig fix for ANSI-only color terminals and a robustness
tweak for the aquatic theme:
- Commit 7a98bc7 ("menuconfig: Check that bright named colors are
< curses.COLORS")
- Commit 1ad02f5 ("menuconfig: Avoid the non-ANSI 'brightwhite' color
in the aquatic theme")
|
|
Not available with TERM=xterm (as opposed to xterm-256color).
Use fg:white instead of fg:brightwhite for dialog box bodies. Not a huge
difference.
Came up in https://github.com/espressif/esp-idf/issues/4387.
|
|
The bright colors in the range 8-15 are not ANSI and are not guaranteed
to be available.
Previously, the code assumed that all named colors are always available
on color terminals, and skipped the check against curses.COLORS. This
led to this error e.g. with TERM=xterm (as opposed to xterm-256color)
and the aquatic theme, which uses 'brightwhite':
_curses.error: init_pair() returned ERR
Fix it by checking the number returned for named colors against
curses.COLORS as well.
Came up in https://github.com/espressif/esp-idf/issues/4387.
|
|
Handy for KCONFIG_{CONFIG,AUTOHEADER}_HEADER.
|
|
Adds two new features:
- Commit bb3be6e ("Support giving the header path in
KCONFIG_AUTOHEADER")
- Commit de45874 ("Make header strings customizable via the
environment")
|
|
This environment variable is used by the C tools. Use it when
filename=None is passed to write_autoconf(), and default to
include/generated/autoconf.h for compatibility.
Also update genconfig.py to use KCONFIG_AUTOHEADER if set when no
--header-path is passed. If KCONFIG_AUTOHEADER isn't set, keep
defaulting to 'config.h' for backwards compatibility. It's probably a
saner default for tools as well.
|
|
If no header string is specified in write_(min_)config() or
write_autoconf(), use the values of the environment variables
KCONFIG_CONFIG_HEADER and KCONFIG_AUTOHEADER_HEADER, respectively, if
set. KCONFIG_AUTOHEADER_HEADER is consistent with KCONFIG_AUTOHEADER
(the header path), which will be added soon.
Using environment variables avoids having to add separate flags to each
tool that writes configuration files or headers.
Like for $prefix and $CONFIG_, store the values of the environment
variables when the Kconfig instance is created, and expose them via
Kconfig.config_header and Kconfig.header_header. This if flexible and
avoids gotchas when working with multiple Kconfig instances.
Also remove the old default header and make the default no header. Less
advertising, but it felt a bit silly to add workarounds to keep it.
Came up in https://github.com/ulfalizer/Kconfiglib/pull/80.
|
|
Adds a helper that's handy for messages involving symbols/choices, and a
small documentation fix.
- Commit e1ccf19 ("Add public helpers for generating "<name> (defined
at ...)" strings").
- Commit 2d1cb7e ("Add missing Choice.str_value documentation")
|
|
Have Symbol/Choice.name_and_loc return strings like
"MY_SYM (defined at foo:1, bar:2)"
"<choice> (defined at foo:4)"
I've added a function like that in at least four different scripts now,
so that's probably a sign that it's a worthwhile helper.
Clean up the tests/Klocation tests a bit while adding tests.
|
|
Oversight. It's just a string version of Choice.tri_value, like for
Symbol.tri_value vs. Symbol.str_value.
Also rearrange the property documentation to put user_value next to
tri_value and str_value in the Symbol and Choice docstrings.
|
|
The Linux docs were updated from plain text to RST.
|
|
Adds a small fix for some just-rewritten documentation, in commit
4de95f4 ("Mention that standard_kconfig() returns the Kconfig
instance").
|
|
Accidentally left out when the docstring was rewritten.
|
|
|
|
- Commit e016deb ("Convert standard_kconfig() to argparse for better
feedback") improves feedback from the tools and makes their help
texts easier to find
- Commit 0f56dd9 ("guiconfig: Check for visible nodes before turning
off show-all in full-tree mode") fixes an obscure bug in show-all
mode in guiconfig
|
|
Reported by pylint.
|
|
If there are no visible nodes in the entire tree, guiconfig
automatically starts in show-all mode. Previously, there was no check
for visible nodes when turning off show-all in full-tree mode in this
case, leading to errors.
Fix it by checking if there are any visible nodes in the top menu when
turning off show-all in full-tree mode. If there aren't, show-all stays
on.
|
|
Stuff like this is not the pinnacle of helpful design, and hides that
the commands actually have long help texts (that can be viewed with
pydoc):
$ ./menuconfig.py --help
[Errno 2] No such file or directory: '--help'
Fix it by converting standard_kconfig() to argparse, and add a
'description' argument to it for the command-specific help text. --help
now shows the same help text shown by pydoc, and some other error
messages are improved as well.
Also fix some copy-paste errors and outdated paths in the help texts for
the all*config commands.
|
|
|
|
|
|
Adds commit 21b4c1e ("Do not automatically install windows-curses on
Windows"), which fixes installation on MSYS2. See that commit for an
explanation, and this issue: https://github.com/ulfalizer/Kconfiglib/issues/77
Also adds commit 72e3d20 ("menuconfig: Give hint when 'curses' can't be
imported on Windows"), to make it easy for users to know what to do if
stuff breaks.
Sorry if this change caused problems!
|
|
Tell people to install something like windows-curses. Might help avoid
some trouble after commit 21b4c1e ("Do not automatically install
windows-curses on Windows").
|
|
It breaks installation with pip on MSYS2, and Kconfiglib can still be
useful without the terminal menuconfig.
Unfortunately, MSYS2 seems tricky to identify via environment markers
(https://www.python.org/dev/peps/pep-0508/#environment-markers).
This has breakage/annoyance potential, as windows-curses now needs to be
installed manually. The major Kconfiglib version will be increased.
Sorry if this change caused problems!
Fixes: #77
|
|
Handy to know.
|
|
Piggyback fixing a typo.
|
|
Sent upstream.
|
|
Get rid of the 'else'.
|
|
Macros should still be expanded within nested parentheses. Test it.
|