Re: [ANNOUNCE] Kconfiglib menuconfig implementation
From: Ulf Magnusson
Date: Tue May 22 2018 - 05:24:10 EST
On Mon, May 21, 2018 at 5:47 AM, Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
> On 05/20/2018 08:33 PM, Ulf Magnusson wrote:
>> 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.
>
> Thanks.
>
>>> 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.
>
> Yes, that's helpful.
>
>
> --
> ~Randy
Hello,
I've added a mode that lists the names of all symbols in the menu now
as well, toggled with 'c' ('n' was taken :).
Any other features you miss from xconfig? Other suggestions?
Cheers,
Ulf