aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/config/parser.y
Commit message (Collapse)AuthorAgeFilesLines
* build: scripts/config - update to kconfig-v5.14Eneas U de Queiroz2022-02-191-33/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | Functional Changes ---------- ------- - make 'imply' not impose any restrictions: allow symbols implied by y to become m - change "modules" from sub-option to first-level attribute Bugfixes -------- - nconf: fix core dump when searching in empty menu - nconf: stop endless search loops - xconfig: fix content of the main widget - xconfig: fix support for the split view mode Other Changes ----- ------- - highlight xconfig 'comment' lines with '***' - xconfig: navigate menus on hyperlinks - xconfig: drop support for Qt4 - improve host ncurses detection Update the 'option modules' usage to just 'modules' in Config.in. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
* scripts: update SPDX license namesPaul Spooren2020-09-221-1/+1
| | | | | | | | | SPDX moved from GPL-2.0 to GPL-2.0-only and from GPL-2.0+ to GPL-2.0-or-later. Reflect that in the SPDX license headers. Signed-off-by: Paul Spooren <mail@aparcar.org> [adjust commit title, update remaining files] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* build: scripts/config - update to kconfig-v5.6Eneas U de Queiroz2020-05-201-0/+727
| | | | | | | | | | | | | | | | | | | | | Major changes include: - Much more readable reverse dependencies separated in groups - Improved recursive dependency report - More readable .config files: add comments to signal end of menus - More warnings for incorrect Config.in entries, such as a 'choice' default not contained in the 'choice' - Hability to properly display pseudographics with non-latin locales - Recursive dependencies can optionally be treated as errors Changes from failed dcf3e63a35d05e7e5103819c0f17195bfafe9baa attempt: - Recursive dependencies are treated as warnings by default - The option to treat them as errors is implemented as a command-line flag to scripts/config/conf instead of a compile-time definition - fixed handling of select with umnet dependencies Cc: Petr Štetiar <ynezz@true.cz> Cc: Jo-Philip Wich <jow@mein.io> Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
* Revert "build: scripts/config - update to kconfig-v5.6"Jo-Philipp Wich2020-04-121-727/+0
| | | | | | | | | | | | | | | | | | | This reverts commit dcf3e63a35d05e7e5103819c0f17195bfafe9baa. The kconfig update requires further testing and refinement until it can remain in tree. Main problems are: - Recursive deps are now fatal instead of a warning - Previously legal syntax now leads to hard failures - It fails all package builds since multiple days The updated kconfig implementation needs to cope with the current status quo in the various package feeds before we can reconsider it for master. It is not desirable that single broken packages can hard-fail the entire build pipeline. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* build: scripts/config - update to kconfig-v5.6Eneas U de Queiroz2020-04-091-0/+727
Major changes include: - Much more readable reverse dependencies separated in groups - Improved recursive dependency report - More readable .config files: add comments to signal end of menus - More warnings for incorrect Config.in entries, such as a 'choice' default not contained in the 'choice' - Hability to properly display pseudographics with non-latin locales - Recursive dependencies are now treated as errors - this should make it harder for them to creep in. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
udio Code for QMK Development [Visual Studio Code](https://code.visualstudio.com/) (VS Code) is an open-source code editor that supports many different programming languages. Using a full-featured editor such as VS Code provides many advantages over a plain text editor, such as: * intelligent code completion * convenient navigation in the code * refactoring tools * build automation (no need for the command-line) * a graphical front end for GIT * many other tools such as debugging, code formatting, showing call hierarchies etc. The purpose of this page is to document how to set up VS Code for developing QMK Firmware. This guide covers how to configure everything needed on Windows and Ubuntu 18.04 # Set up VS Code Before starting, you will want to make sure that you have all of the build tools set up, and QMK Firmware cloned. Head to the the [Newbs Getting Started Guide](newbs_getting_started.md) to get things set up, if you haven't already. ## Windows ### Prerequisites * [Git for Windows](https://git-scm.com/download/win) (This link will prompt to save/run the installer) 1. Disable all of the options but `Git LFS (Large File Support)` and `Check daily for Git for Windows updates`. 2. Set the default editor to `Use Visual Studio Code as Git's default editor` 3. Select the `Use Git from Git Bash only` option, since that's the option that you should use here. 4. For the `Choosing HTTPS transport backend`, either option should be fine. 5. Select the `Checkout as-is, commit Unix-style line endings` option. QMK Firmware uses Unix style commits. 6. For the extra options, leave the default options as is. This software is needed for Git support in VS Code. It may be possible to not include this, but it is much simpler to just use this. * [Git Credential Manager for Windows](https://github.com/Microsoft/Git-Credential-Manager-for-Windows/releases) (Optional) This software provides better support for Git by providing secure storage for git credentials, MFA and personal access token generation. This isn't strictly needed, but we would recommend it. ### Installing VS Code 1. Head to [VS Code](https://code.visualstudio.com/) and download the installer 2. Run the installer This part is super simple. However, there is some configuration that we need to do to ensure things are configured correctly. ### Configuring VS Code First, we need to set up IntelliSense. This isn't strictly required, but it will make your life a LOT easier. To do this, we need to create the `.vscode/c_cpp_properies.json` file in the QMK Firmware folder, You can do this all manually, but I've done most of the work already. Grab [this file](https://gist.github.com/drashna/48e2c49ce877be592a1650f91f8473e8) and save it. You may need to edit this file, if you didn't install MSYS2 to the default location, or are using WSL/LxSS. Once you have saved this file, you will need to reload VS Code, if it was already running. ?> You should see an `extensions.json` and `settings.json` file in the `.vscode` folder, as well. Now, we will set up the MSYS2 window to show up in VSCode as the integrated terminal. This has a number of advantages. Mostly, you can control+click on errors and jump to those files. This makes debugging much easier. It's also nice, in that you don't have to jump to another window. 1. Click <kbd><kbd>File</kbd> > <kbd>Preferences ></kbd> > <kbd>Settings</kbd> </kbd> 2. Click on the <kbd>{}</kbd> button, in the top right to open the `settings.json` file. 3. Set the file's content to: ```json { "terminal.integrated.shell.windows": "C:\\msys64\\usr\\bin\\bash.exe", "terminal.integrated.env.windows": { "MSYSTEM": "MINGW64", "CHERE_INVOKING": "1" }, "terminal.integrated.shellArgs.windows": [ "--login" ], "terminal.integrated.cursorStyle": "line" } ``` If there are settings here already, then just add everything between the first and last curly brackets and separate the existing settings with a comma from the newly added ones. ?> If you installed MSYS2 to a different folder, then you'll need to change the path for `terminal.integrated.shell.windows` to the correct path for your system. 4. Hit Ctrl-`\`` (Grave) to bring up the terminal or go to <kbd><kbd>View</kbd> > <kbd>Terminal</kbd></kbd> (command `workbench.action.terminal.toggleTerminal`). A new terminal will be opened if there isn‘t one already. This should start the terminal in the workspace's folder (so the `qmk_firmware` folder), and then you can compile your keyboard. ## Every other Operating System 1. Head to [VS Code](https://code.visualstudio.com/) and download the installer 2. Run the installer 3. That's it No, really, that's it. The paths needed are already included when installing the packages, and it is much better about detecting the current workspace files and parsing them for IntelliSense. ## Plugins There are a number of extensions that you may want to install: * [Git Extension Pack](https://marketplace.visualstudio.com/items?itemName=donjayamanne.git-extension-pack) - This installs a bunch of Git related tools that may make using Git with QMK Firmware easier. * [EditorConfig for VS Code](https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig) - _[Optional]_ - Helps to keep the code to the QMK Coding Conventions. * [Bracket Pair Colorizer 2](https://marketplace.visualstudio.com/items?itemName=CoenraadS.bracket-pair-colorizer-2) - _[Optional]_ - This color codes the brackets in your code, to make it easier to reference nested code. * [GitHub Markdown Preview](https://marketplace.visualstudio.com/items?itemName=bierner.github-markdown-preview) - _[Optional]_ - Makes the markdown preview in VS Code more like GitHub's. * [VS Live Share Extension Pack](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare-pack) - _[Optional]_ - This extension allows somebody else to access your workspace (or you to access somebody else's workspace) and help out. This is great if you're having issues and need some help from somebody. * [VIM Keymap](https://marketplace.visualstudio.com/items?itemName=GiuseppeCesarano.vim-keymap) - _[Optional]_ - For those that prefer VIM style keybindings. There are other options for this, too. * [Travis CI Status](https://marketplace.visualstudio.com/items?itemName=felixrieseberg.vsc-travis-ci-status) - _[Optional]_ - This shows the current Travis CI status, if you have it set up. Restart once you've installed any extensions # Configure VS Code for QMK 1. Click <kbd><kbd>File</kbd> > <kbd>Open Folder</kbd></kbd> 2. Open the QMK Firmware folder that you cloned from GitHub. 3. Click <kbd><kbd>File</kbd> > <kbd>Save Workspace As...</kbd></kbd> And now you're ready to code QMK Firmware in VS Code