Re: [ANNOUNCE] Kconfiglib menuconfig implementation
From: Ulf Magnusson
Date: Sun May 20 2018 - 22:38:37 EST
On Mon, May 21, 2018 at 4:45 AM, Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
> On 05/19/2018 09:47 PM, Ulf Magnusson wrote:
>> On Sun, May 20, 2018 at 6:03 AM, Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
>>> On 05/19/2018 08:45 PM, Randy Dunlap wrote:
>>>> On 05/08/2018 09:59 AM, Ulf Magnusson wrote:
>>>>> Hello,
>>>>>
>>>>> I've added incremental search for jumping directly to a symbol now.
>>>>> Regular expressions are supported as well.
>>>>>
>>>>> Some screenshots below:
>>>>>
>>>>> https://raw.githubusercontent.com/ulfalizer/Kconfiglib/screenshots/screenshots/ss10.png
>>>>> https://raw.githubusercontent.com/ulfalizer/Kconfiglib/screenshots/screenshots/ss11.png
>>>>> https://raw.githubusercontent.com/ulfalizer/Kconfiglib/screenshots/screenshots/ss13.png
>>>>>
>>>>> The last screenshot shows how things might look after you jump to a
>>>>> symbol. The jumped-to symbol wasn't visible in this case, so show-all
>>>>> mode was turned on automatically.
>>>>
>>>> Hi Ulf,
>>>>
>>>>
>>>>
>>>> Hm, OK, I used the trick that you supplied a few weeks ago and I have the UI now.
>>>>
>>>> ARCH=x86 SRCARCH=x86 KERNELVERSION=`make kernelversion` \
>>>> Kconfiglib/menuconfig.py
>>>>
>>>> so yes, a real Makefile target would be nice. :)
>>>
>>> I want to see all kconfig symbols that end with "_DEBUG" (so excluding
>>> _DEBUGFS). Using:
>>>
>>> /.*_DEBUG$
>>>
>>> shows me 6 symbols:
>>> ATH9K_COMMON_DEBUG
>>> DVB_B2C2_FLEXCOP_DEBUG
>>> HAVE_DMA_API_DEBUG
>>> IP_DCCP_TFRC_DEBUG
>>> NFS_DEBUG
>>> PM_SLEEP_DEBUG
>>>
>>> so where are the other (approx.) 176?
>>> see:
>>> $ find . -name Kconfig\* | xargs grep "config.*_DEBUG$" | grep -v \.orig | wc
>>> 182 364 9179
>>>
>>>
>>> Anyway, something for you to look at. :)
>>>
>>> --
>>> ~Randy
>>
>> It's related to how the search is done. Searching for "DEBUG\b" (word
>> boundary) instead will find all of them.
>>
>> A string is generated for each symbol. For symbols with prompts, this
>> string includes the prompt as well, so you get e.g.
>>
>> AB8500_DEBUG "Enable debug info via debugfs"
>>
>> Those strings are then searched/displayed.
>>
>> What you got with your search was all symbols whose names end in
>> "_DEBUG" that don't have a prompt.
>>
>> The nice thing about searching both the name and the prompt is that
>> e.g. "debugfs ab8500" will find the symbol above. I'm also planning to
>> add menus to the search, by generating 'menu: "menu title"' strings
>> for them.
>>
>> It's a bit awkward/unintuitive that what you tried doesn't work
>> though. Maybe the symbol name could be searched separately from the
>> prompt, though I'd be a bit sad to abandon the super simple
>> single-string-per-entry implementation approach. :)
>
> Hi Ulf,
>
> What else are you planning to do with /(search)?
Here's the stuff I've thought of so far:
- Display invisible symbols in red (to match show-all mode)
- Search prompts of menus and comments as well
- Have [F1] show the help display without canceling the search,
so you can quickly scan through a bunch of symbols
Maybe you could get fancy with stuff like finding symbols that are
related to other symbols in particular ways too...
> /syscall lists 20 or so symbols. It would be nice if each one of those
> showed its current setting [y,n,maybe^Wm].
Nice idea. I added it:
https://github.com/ulfalizer/Kconfiglib/commit/3161affaa5bb8350a39bfd305c56171a25b02151
Works for strings/int/hex too.
> I like Toggle show-all mode. When I use xconfig, I usually turn on most
> of its options, including one like that.
IIRC, xconfig doesn't make it very clear which symbols are invisible
in show-all mode. That's why I made them red.
>
> --
> ~Randy
Cheers,
Ulf