mirror of
https://github.com/godotengine/buildroot.git
synced 2026-01-04 06:10:16 +03:00
Currently, we can generate two different tables of packages:
- a single-column table with the symbols' prompts,
- a two-column table with the symbols' prompts and locations in the
menuconfig.
For virtual packages, this is not enough, since we will have to display
more columns, with different content:
- the virtual package name (but such symbols do not have a prompt)
- the symbol name
- the providers for the virtual package
So, instead of having a single function that knows how to generate any
table, introduce a formatter function that is passed as argument to,
and called by format_asciidoc_table(). Such formatter functions are
responsible for providing:
- the layout of the table (number of columns, column arrangement),
- the formatted header line,
- a formatted line for a symbol.
What the formatter should ouput depends on its arguments:
- if none are passed, the layout is returned,
- if the header label is passed, it returns the formatted header line,
- otherwise, it returns the formatted line for a symbol.
Two formatter functions are introduced in this changeset, to replace the
current 'sub_menu' feature:
- _format_symbol_prompt() to display a one-column table with only the
symbols' prompts,
- _format_symbol_prompt_location() to display a two-column table with
the symbols' prompts and locations.
This will help us to later introduce a new formatter to generate a table
for virtual packages.
[Thanks to Samuel for his pythonistic help!]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Readme ====== Kconfiglib ---------- This python module, developped by Ulf Magnusson and released under the ISC license, is fetched from: https://github.com/ulfalizer/Kconfiglib commit: 02103fba9ae32a78291af53e50ee5d4bb3f69c1e Kconfiglib license ~~~~~~~~~~~~~~~~~~ License (ISC) Copyright (c) 2011-2013, Ulf Magnusson <ulfalizer@gmail.com> Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.