BREAKING CHANGE: This commit replaces all-the-icons with nerd-fonts. Any all-the-icons-* function calls or variable references in your private config will break and should be replaced with their nerd-icons-* equivalent. That said, Doom will continue to install all-the-icons for a while, so feel free to load it if you don't want to fully commit to the change yet. This change is happening because nerd-icon has wider support for GUI and TUI Emacs; has a larger, more consistent selection of symbols; plus unicode coverage. Fix: #7368 Close: #6675 Close: #7364 |
||
---|---|---|
.. | ||
autoload.el | ||
config.el | ||
packages.el | ||
README.org |
:lang graphql
Description unfold
This module adds GraphQL support to Doom Emacs.
It includes:
- Code completion
-
LSP support (doom-module:+lsp)
- Diagnostics (GraphQL syntax linting/validations) (spec-compliant)
- Autocomplete suggestions (spec-compliant)
- Hyperlink to fragment definitions and named types (type, input, enum) definitions (spec-compliant)
- Outline view support for queries and SDL
- Symbols support across the workspace
- Local schema viewer
- Org-babel exporter (requires doom-module::lang org)
Maintainers
Module flags
- +lsp
-
Enable LSP support for
graphql-mode
. Requires doom-module::tools lsp and a langserver (graphql-language-service-cli).
Packages
Hacks
- Added a convenience function fn:+graphql-doc-open-config to open schema docs from a .graphqlconfig file.
TODO Changelog
This module does not have a changelog yet.
Installation
Enable this module in your doom!
block.
This module has no direct requirements, but the +lsp flag requires a supported LSP server.
Usage
Sending queries
When visiting a graphql buffer, you have access to the ability to send the
current query with C-c C-c
which will prompt you for an optional variables file,
then execute the query and return a buffer of the results.
It's also possible to send queries using org-babel using a block such as the
ones below (executing correctly will require :lang org
)
{
"continentCode": "AF"
}
query GetContinents($continentCode: String!) {
continent(code: $continentCode) {
name
code
}
}
{ "data": { "continent": { "name": "Africa", "code": "AF" } } }
Viewing docs
With this module, there are 3 ways to view schemas:
+graphql-doc-open-config
which uses a local.graphqlconfig
file to seed endpoints to querygraphql-doc
which prompts you to select an endpoint based on ones added manually bygraphql-doc-add-api
graphql-doc-open-url
which prompts to to manually enter an endpoint url
When using the doc viewer, there are a few bindings for navigating around.
Key | Command | Description |
---|---|---|
C-j |
forward-button |
Follow a forward button |
C-k |
backward-button |
Follow a backward button |
<backspace> |
graphql-doc-go-back |
Go back to a previous page |
mouse-1 |
- | Follow the next label under point |
RET |
- | Follow the next label under point |
Configuration
Most of the "magic" in the module relies on a properly configured .graphqlconfig file, so follow the examples linked to create an appropriate setup.
LSP configuration is handled through GraphQL Config to handle custom directives/documents/validation etc.
These files will also be useful to other editors, so it would be worth checking them into version control.
Troubleshooting
Frequently asked questions
This module has no FAQs yet. Ask one?
TODO Appendix
🔨 This module has no appendix yet. Write one?