{"id":17786196,"url":"https://github.com/healscodes/vim-gas","last_synced_at":"2025-04-01T23:41:27.117Z","repository":{"id":10083377,"uuid":"12140983","full_name":"HealsCodes/vim-gas","owner":"HealsCodes","description":"Advanced syntax highlighting for GNU As","archived":false,"fork":false,"pushed_at":"2023-12-28T13:34:43.000Z","size":288,"stargazers_count":147,"open_issues_count":3,"forks_count":21,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-02-07T15:25:47.493Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Vim Script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HealsCodes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2013-08-15T18:43:19.000Z","updated_at":"2025-01-20T07:55:39.000Z","dependencies_parsed_at":"2023-12-28T14:30:45.108Z","dependency_job_id":"45544085-e098-4414-b1d6-fffdc5ba1322","html_url":"https://github.com/HealsCodes/vim-gas","commit_stats":null,"previous_names":["healscodes/vim-gas"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HealsCodes%2Fvim-gas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HealsCodes%2Fvim-gas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HealsCodes%2Fvim-gas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HealsCodes%2Fvim-gas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HealsCodes","download_url":"https://codeload.github.com/HealsCodes/vim-gas/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246730290,"owners_count":20824396,"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","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":[],"created_at":"2024-10-27T09:22:40.709Z","updated_at":"2025-04-01T23:41:27.099Z","avatar_url":"https://github.com/HealsCodes.png","language":"Vim Script","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VIM-GAS\n\nThis vim bundle adds advanced syntax highlighting for GNU as (AT\u0026T).\n\nThis file defines a (almost) complete syntax for GNU as assembler. \n\nMy motivation in writing this was the lack of a complete, working syntax for this \ncommon assembler. \n\nFor now the basic as directives as well as the Intel / AMD, ARM (thumb) and AVR instruction sets are included.  \nOpcodes supporting a size suffix are recognized plain as well as suffixed with b/w/l/q. \n\n## What does it look like?\n\n![screenshot here..](https://raw.githubusercontent.com/HealsCodes/vim-gas/master/sample.png)\n\n## Supported instructions a per version 0.16: \n\n- X86 common instruction set (8086 - 686) \n- Katmai Streaming SIMD instructions (SSE -- a.k.a. KNI, XMM, MMX2) \n- Introduced in Deschutes but necessary for SSE support \n- XSAVE group (AVX and extended state) \n- Generic memory operations \n- New MMX instructions introduced in Katmai \n- AMD Enhanced 3DNow! (Athlon) instructions \n- Willamette SSE2 Cacheability Instructions \n- Willamette MMX instructions (SSE2 SIMD Integer Instructions) \n- Willamette Streaming SIMD instructions (SSE2) \n- Prescott New Instructions (SSE3) \n- VMX Instructions \n- Extended Page Tables VMX instructions \n- Tejas New Instructions (SSSE3) \n- AMD SSE4A \n- New instructions in Barcelona \n- Penryn New Instructions (SSE4.1) \n- Nehalem New Instructions (SSE4.2) \n- AMD SSE5 instructions \n- Intel SMX \n- Geode (Cyrix) 3DNow! additions \n- Intel AES instructions \n- Intel AVX AES instructions \n- Intel AVX instructions \n- Intel AVX2 instructions\n- Intel Carry-Less Multiplication instructions (CLMUL) \n- Intel AVX Carry-Less Multiplication instructions (CLMUL) \n- Intel Fused Multiply-Add instructions (FMA) \n- VIA (Centaur) security instructions \n- AMD XOP, FMA4 and CVT16 instructions (SSE5) \n- Systematic names for the hinting nop instructions \n- ARM (Thumb)\n- AVR\n\nYou can set different highlighting for each set listed above by adding a line like this to you .vimrc: \n\n```vim\n  hi def link gasOpcodeX86_PENT_SSE  \u003csome_highlighting\u003e \n```\n\n## per-file opcode enable / disable \n\nSince version 0.6 it is possible to disable sets of opcodes by either CPU they where introduced in or by their extension name. \nThis is done by setting a special variable recognized by gas.vim to the list of disabled opcodes. \n\nE.g. \n\n```vim\n\" globally disable all x86_64 opcodes \n:let g:gasDisableOpcodes='x86_64' \n\n\n\" disable SSE and SSE2 for this buffer \nlet b:gasDisableOpcodes='sse sse2' \n```\n\nDisabled opcodes will be highlighted as errors. \n\nrecognized CPU groups:\n\n           186, 286, 386, 3862, 486, 8086, amd, future, ia64, katmai, nehalem, \n            p6, pentium_m, pentium, prescott, sandybridge, x64, x642, x86_64 \n\nrecognized extension groups: \n\n           base, 3dnow, mmx, mmx2, sse, sse2, sse3, ssse3, sse4.1, sse4.2, sse4a, \n           sse5, avx, fma, vmx \n\n\nI hope this syntax file will be useful to other people \n  \\- but don't blame me if it doesn't suit your needs. \n\n## CPP preprocessor macros\n\nGAS allows code to be processed by the same preprocessor used for C/C++ code. \nSo directives like `#include`, `#define` etc. will be highlighted using the C \nsyntax highlighter if available. \n\nThis behavior can be turned off by setting the `gasDisablePreproc` option \neither globally in your .vimrc or on a per-buffer basis:\n\n```vim\n\" globally disable preprocessor macro detection\n:let g:gasDisablePreproc=1 \n\n\n\" disable only for this buffer \nlet gasDisablePreproc=1 \n```\n\n## Installation\n\nThis syntax file can either be installed manually, by using pathogen or vundle.\n\n### Manual Installation\n\nDownload gas.vim and copy the file to .vim/syntax/ in your home folder. \nAdd this line to the end of your file: \n\n```vim\n/* vim: ft=gas : \n*/ \n```\n\n## Installation with Git \u0026 Pathogen\n\n- Install [pathogen](http://www.vim.org/scripts/script.php?script_id=2332) into `~/.vim/autoload/` and add the\n   following line to your `~/.vimrc`:\n\n        call pathogen#infect()\n\n- Make a clone of the `vim-gas` repository:\n\n        $ mkdir -p ~/.vim/bundle\n        $ cd ~/.vim/bundle\n        $ git clone https://github.com/HealsCodes/vim-gas\n\n- OR use git submodules:\n\n        $ git submodule add https://github.com/HealsCodes/vim-gas.git bundle/vim-gas\n        $ git submodule init\n\n## Installation with Vundle\n\n- Install and setup [vundle](https://github.com/VundleVim/Vundle.vim) then add this to your `~/.vimrc` inside\n   the `vundle#begin()` / `vundle#end()` block:\n\n        Plugin shirk/vim-gas\n\n- Restart your vim and call `VundleInstall`\n\n## License ##\n\nBSD (3 clause) - see LICENSE for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhealscodes%2Fvim-gas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhealscodes%2Fvim-gas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhealscodes%2Fvim-gas/lists"}