{"id":19131422,"url":"https://github.com/hezkore/vim-blitzmax","last_synced_at":"2025-09-04T07:45:30.497Z","repository":{"id":40426192,"uuid":"331448013","full_name":"Hezkore/vim-blitzmax","owner":"Hezkore","description":"Vim plugin that provides syntax highlighting, indentation, error matching, Ctags, tagbar scopes and compiler options for BlitzMax","archived":false,"fork":false,"pushed_at":"2022-05-09T12:05:48.000Z","size":669,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-01T09:40:02.969Z","etag":null,"topics":["blitzmax","vim","vim-plugin"],"latest_commit_sha":null,"homepage":"","language":"Vim script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Hezkore.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-01-20T22:21:23.000Z","updated_at":"2025-05-01T20:30:25.000Z","dependencies_parsed_at":"2022-08-09T20:10:27.030Z","dependency_job_id":null,"html_url":"https://github.com/Hezkore/vim-blitzmax","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Hezkore/vim-blitzmax","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hezkore%2Fvim-blitzmax","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hezkore%2Fvim-blitzmax/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hezkore%2Fvim-blitzmax/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hezkore%2Fvim-blitzmax/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hezkore","download_url":"https://codeload.github.com/Hezkore/vim-blitzmax/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hezkore%2Fvim-blitzmax/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273574147,"owners_count":25129882,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-04T02:00:08.968Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blitzmax","vim","vim-plugin"],"created_at":"2024-11-09T06:15:06.100Z","updated_at":"2025-09-04T07:45:30.475Z","avatar_url":"https://github.com/Hezkore.png","language":"Vim script","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BlitzMax for Vim\n\n[Vim](https://www.vim.org) plugin that provides [syntax highlighting](https://vimhelp.org/syntax.txt.html#%3Asyn-qstart), indentation, [error matching](https://vimhelp.org/quickfix.txt.html#quickfix-window), [Ctags](https://vimhelp.org/tagsrch.txt.html#tag-commands), [tagbar scopes](https://github.com/preservim/tagbar) and [compiler options](https://vimhelp.org/quickfix.txt.html#%3Amake_makeprg) for [BlitzMax](https://blitzmax.org).\n\n![Tag Image](https://github.com/Hezkore/vim-blitzmax/blob/main/demo.gif?raw=true)\n\n## Installation\n| Method        | Instructions\n| ------------- | ------\n| Vim 8 package | `git clone https://github.com/Hezkore/vim-blitzmax ~/.vim/pack/hezkore/start/bmx`\n| [vim-plug](https://github.com/junegunn/vim-plug) | Plug 'Hezkore/vim-blitzmax', { 'for': 'blitzmax' }\n| Manual        | Copy files to `~/.vim/` on Unix or `%USERPROFILE%\\vimfiles\\` on Windows\n\nOpen or create the `vimrc` file in `~/.vim/` on Unix or `%USERPROFILE%\\vimfiles\\` on Windows and add\\\n`let g:blitzmax_path=\u003cyour blitzmax path\u003e`\n\n## Learning Vim\nInstall [Vim](https://www.vim.org/download.php) and run the [vimtutor](https://vimhelp.org/usr_01.txt.html#vimtutor).\\\nAlternatively you can read the online documentations at [vimhelp.org](https://vimhelp.org/).\n\n## Compiling\nOpening a `.bmx` file will set the Vim compiler to `bmk`\\\nYou can manually set it if needed with  the command `:compiler bmk`\\\nUse the command `:make \u003cblitzmax bmk operation\u003e [blitzmax bmk options]` to build your executable.\\\nFor example `:make makeapp -x %` to compile the current file _(`%`)_ and execute it _(`-x`)_.\n\nOr something more advanced `:make makeapp -d -t console -w -a -x -o %\u003c.debug %`\\\nThis will create a debug console application.\n\nAdd `nnoremap \u003cF5\u003e :make makeapp -d -t console -w -a -x -o %\u003c.debug %\u003cCR\u003e` to your `vimrc` for a quick way of compiling a debug console application by pressing \u003ckbd\u003eF5\u003c/kbd\u003e.\n\nYou can read more about the BlitzMax bmk compile operations and options [here](https://blitzmax.org/docs/en/tools/bmk/), and about Vim's `make` command [here](https://vimhelp.org/quickfix.txt.html#%3Amake_makeprg).\n\n## Debugging\nUse the command `:clist` `:cl` or `:copen` `:cw` to view any compiling warnings or errors.\\\n`:cnext` `:cn` and `:cprev` `:cp` will move to the next and previous problem respectively.\\\nMore about Vim's quickfix view can be found [here](https://vimhelp.org/quickfix.txt.html#quickfix-window).\n\nThe internal BlitzMax debugger is used for live-debugging.\n| Key       | Action\n| --------- | ------\n| T         | Stack trace\n| R         | Run from here\n| S         | Step through source code\n| E         | Step into function call\n| L         | Leave function or local block\n| Q         | Quit\n| H         | Help text\n| Dxxxxxxxx | Dump object at hex address xxxxxxxx\n\n## Ctags and tagbar\nThe [tagbar plugin](https://github.com/preservim/tagbar) is supported right out of the box.\n\n![Tagbar Image](https://github.com/Hezkore/vim-blitzmax/blob/main/demo.png?raw=true)\n\nYou can generate your own ctags with the command `:MakeBmxCtags`\\\nThis will generate ctags for the file in the current buffer, files in the same folder, as well as sub-folders.\\\n`:MakeBmxCtags` also accepts a path, for example `:MakeBmxCtags ~/Code/MyBmxProject`\n\nUse `:MakeBmxModuleCtags` to generate ctags for all your BlitzMax modules.\\\nRemember to add `exe 'set tags+='.g:blitzmax_path.'/mod/tags'` to your `vimrc` file in order to match tags from your modules.\n\nYou can read more about Vim tags [here](https://vimhelp.org/tagsrch.txt.html).\n\n## FAQ\n* **Q: I'm getting `Error creating Ctags!` when creating ctags.**\n\t* A: The `MakeBmxCtags` commands relies on the external program 'ctags', which you can find [here](https://github.com/universal-ctags/ctags#universal-ctags).\n* **Q: The compiler, tagbar and ctags don't match/update with my code.**\n\t* A: The document is read from disk, you'll have to save _(`:w`)_ first!\n* **Q: Jumping to a tag jumps to the wrong location.**\n\t* A: You can press \u003ckbd\u003eg\u003c/kbd\u003e \u003ckbd\u003e]\u003c/kbd\u003e to view multiple tag matches.\\\n\tYou can read more about Vim tags [here](https://vimhelp.org/tagsrch.txt.html).\n* **Q: Jumping to a tag makes me lose my current document.**\n\t* A: You can use \u003ckbd\u003eCtr\u003c/kbd\u003e + \u003ckbd\u003et\u003c/kbd\u003e to jump a step back in the tag stack.\\\n\tAlternatively, use \u003ckbd\u003eCtr\u003c/kbd\u003e + \u003ckbd\u003eW\u003c/kbd\u003e \u003ckbd\u003e]\u003c/kbd\u003e or \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003eW\u003c/kbd\u003e \u003ckbd\u003eg\u003c/kbd\u003e \u003ckbd\u003e]\u003c/kbd\u003e to open the tag in a split view.\\\n\tYou can read more about Vim tags [here](https://vimhelp.org/tagsrch.txt.html).\n* **Q: Tags from my modules aren't matched.**\n\t* A: Make sure you've added `exe 'set tags+='.g:blitzmax_path.'/mod/tags'` to your `vimrc` file, and that you've called `:MakeBmxModuleCtags` at least once.\n* **Q: I'm getting `Undefined variable: g:blitzmax_path` at start.**\n\t* A: If you've added `exe 'set tags+='.g:blitzmax_path.'/mod/tags'` to your `vimrc` file, then make sure it's entered _after/below_ the `let g:blitzmax_path=\u003cyour blitzmax path\u003e` line.\n* **Q: I'm having other issues with the plugin.**\n\t* A: Post your issue in the [GitHub issues](https://github.com/Hezkore/vim-blitzmax/issues) section.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhezkore%2Fvim-blitzmax","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhezkore%2Fvim-blitzmax","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhezkore%2Fvim-blitzmax/lists"}