**
Under Active development expect breaking changes until stable release
[](https://luarocks.org/modules/phaedrusflow/blaze.nvim)
π₯ How to Light Up Blaze.nvim
- β€οΈβπ₯ Full integration with Modular's Magic-CLI & Pixi
- π₯ Tree-sitter support via
blaze-ts.nvim- π‘ Autoformatting with
π₯-fmt- π§ͺ Diagnostics with
null-ls- π Debugging via DAP
- π² Query files:
highlights.scm,indents.scm, etc.- π LSP integration
- β Healthcheck via
:Fever
Add Mojo config files to your Neovim config:
for FOLDER in autoload ftdetect ftplugin indent syntax; do mkdir -p ~/.config/nvim/$FOLDER && ln -s $FOLDER/blaze.nvim ~/.config/nvim/$FOLDER/blaze.nvim doneAdd to your
init.luaor plugin loader:-- π ~/.config/nvim/lua/plugins/init.lua -- If you're using lazy.nvim or packer.nvim, this goes in your plugin spec list:-- π For lazy.nvim { "qompassai/blaze.nvim" }-- π For packer.nvim use { "qompassai/blaze.nvim", requires = { "qompassai/blaze-ts.nvim", "neovim/nvim-lspconfig", "mfussenegger/nvim-dap", "rcarriga/nvim-dap-ui", "mfussenegger/nvim-dap-python", }, config = function() require("blaze").setup() end, ft = { "mojo", "π₯" } }-- π Manual Lua setup in your config (e.g., ~/.config/nvim/init.lua or after plugin loads) require("blaze.config").setup({ format_on_save = true, enable_linting = true, keymaps = true, -- Optional which-key mappings })require("lualine").setup({ sections = { lualine_c = { "filename", require("blaze.lualine").blaze_status, }, }, })## π‘οΈ Healthcheck Run the following to validate setup: ```lua :FeverYouβll see:
π² Tree-sitter parser availability π₯ Mojo file π₯-ls LSP active π₯-fmt Formatter available π₯-lint Linter available π₯-dap Debugger attached
If
keymaps = true, the following mappings are automatically registered:
Mapping Description <leader>fmFormat Mojo file <leader>fhRun healthcheck via :Fever
Path Purpose lua/blaze/autocmds/Paired commands lua/blaze/container.luaRootless Containers for Magic-Docker lua/blaze/dap.luaDebug adapter setup via nvim-daplua/blaze/formatting.luaHandles formatting with mojo formatlua/blaze/health.luaπ₯ Which-Key Bindings lua/blaze/keymaps.luaWhich-Key bindings lua/blaze/linting.luaIntegrates with nvim-lintlua/blaze/magic.luaMagic integration lua/blaze/pixi.luaPixi integration
nvim-dapnvim-treesitter- 'blaze-ts.nvim'
- Optional (But recommended)
- magic-docker
- [Pixi](cargo install --locked --git https://github.com/prefix-dev/pixi.git Magic
This project is licensed under the Apache License, Version 2.0.
- Built by Qompass AI
- Grammar derived from
mojo.vim& custom Tree-sitter parser- Mojo-LSP applied from 'nvim-lspconfig`(https://github.com/neovim/nvim-lspconfig/blob/master/lua/lspconfig/configs/mojo.lua)
- Maintained by Qompass AI/(https://github.com/phaedrusflow)
π§ About Qompass AI
Matthew A. Porter
Former Intelligence Officer
Educator & Learner
DeepTech Founder & CEO
π₯ How Do I Support
ποΈ Qompass AI Pre-Seed Funding 2023-2025 π Amount π Date RJOS/Zimmer Biomet Research Grant $30,000 March 2024 Pathfinders Intern Program
View on LinkedIn$2,000 October 2024
Frequently Asked Questions
Q: How do you mitigate against bias?
TLDR - we do math to make AI ethically useful
A: We delineate between mathematical bias (MB) - a fundamental parameter in neural network equations - and algorithmic/social bias (ASB). While MB is optimized during model training through backpropagation, ASB requires careful consideration of data sources, model architecture, and deployment strategies. We implement attention mechanisms for improved input processing and use legal open-source data and secure web-search APIs to help mitigate ASB.
AAMC AI Guidelines | One way to align AI against ASB
AI Math at a glance
Forward Propagation Algorithm
$$ y = w_1x_1 + w_2x_2 + ... + w_nx_n + b $$
Where:
-
$y$ represents the model output -
$(x_1, x_2, ..., x_n)$ are input features -
$(w_1, w_2, ..., w_n)$ are feature weights -
$b$ is the bias term
Neural Network Activation
For neural networks, the bias term is incorporated before activation:
$$ z = \sum_{i=1}^{n} w_ix_i + b $$ $$ a = \sigma(z) $$
Where:
-
$z$ is the weighted sum plus bias -
$a$ is the activation output -
$\sigma$ is the activation function
Attention Mechanism- aka what makes the Transformer (The "T" in ChatGPT) powerful
The Attention mechanism equation is:
$$ \text{Attention}(Q, K, V) = \text{softmax}\left( \frac{QK^T}{\sqrt{d_k}} \right) V $$
Where:
-
$Q$ represents the Query matrix -
$K$ represents the Key matrix -
$V$ represents the Value matrix -
$d_k$ is the dimension of the key vectors -
$\text{softmax}(\cdot)$ normalizes scores to sum to 1
Q: Do I have to buy a Linux computer to use this? I don't have time for that!
A: No. You can run Linux and/or the tools we share alongside your existing operating system:
- Windows users can use Windows Subsystem for Linux WSL
- Mac users can use Homebrew
- The code-base instructions were developed with both beginners and advanced users in mind.
