{"id":19529247,"url":"https://github.com/softmotions/acdb","last_synced_at":"2025-04-26T11:34:25.490Z","repository":{"id":140850430,"uuid":"525435939","full_name":"Softmotions/acdb","owner":"Softmotions","description":"Clang's C/C++ compile_commands.json generator for Arduino projects","archived":false,"fork":false,"pushed_at":"2023-10-26T15:38:02.000Z","size":95,"stargazers_count":7,"open_issues_count":1,"forks_count":1,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-04T12:12:16.796Z","etag":null,"topics":["arduino","autocompletion","clangd","coc-clangd","coc-nvim","language-server","neovim","nvim","vim"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Softmotions.png","metadata":{"files":{"readme":"README.md","changelog":"Changelog","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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-08-16T15:21:07.000Z","updated_at":"2025-02-15T06:38:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"91b8199d-1b79-43bb-a013-d1be14f2ed35","html_url":"https://github.com/Softmotions/acdb","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Softmotions%2Facdb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Softmotions%2Facdb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Softmotions%2Facdb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Softmotions%2Facdb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Softmotions","download_url":"https://codeload.github.com/Softmotions/acdb/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250981585,"owners_count":21517875,"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":["arduino","autocompletion","clangd","coc-clangd","coc-nvim","language-server","neovim","nvim","vim"],"created_at":"2024-11-11T01:23:07.870Z","updated_at":"2025-04-26T11:34:25.179Z","avatar_url":"https://github.com/Softmotions.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Clang's C/C++ compile commands .json generator for Arduino projects\n\nThis is a small utility program which generates a `compile_commands.json` file in your Arduino sketch directory.\nA `compile_commands.json` is used by `cland` language server give you a proper IDE code completion.\n\nNow you can code Arduino projects in vim/neovim editor with [CoC](https://github.com/neoclide/coc.nvim) or neovim LSP.\n\n## Prerequisites\n\n* The latest `arduino-cli` tool in your path\n* CMake build tool\n* gcc/clang compiler\n\n## Installation\n\n### CoC users \n\nAssociate `.ino` files with coc-clangd language server in `init.vim`\n\n```vim\nlet g:coc_filetype_map = {\n  \\ 'ino': 'cpp',\n  \\ }\n```\n\n\n```sh\ngit clone https://github.com/Softmotions/acdb\n\nmkdir ./acdb/build \u0026\u0026 cd ./acdb/build\n\ncmake .. -DCMAKE_INSTALL_PREFIX=~/.local\n\nmake install\n```\n\n## Usage\n\n```sh\n\nacdb [options] [sketch directory\n\n\t-a, --arduino-cli=\u003c\u003e\tPath to the arduino-cli binary.\n\t-b, --fqbn=\u003c\u003e\t\tFully Qualified Board Name, e.g.: arduino:avr:uno\n\t-V, --verbose\t\tPrint verbose output.\n\t-v, --version\t\tShow program version.\n\t-h, --help\t\t  Print usage help.\n```\n\n\n```sh\ncd ./MySketch\nacdb --fqbn=arduino:avr:nano:cpu=atmega328old\n````\n\nor \n\n```sh\ncat ./sketch.json \n{\n  \"cpu\": {\n    \"fqbn\": \"arduino:avr:nano:cpu=atmega328old\"\n  }\n}\n\nacdb \n```\n\n## Troubleshooting \n\nRefer to https://github.com/Softmotions/acdb/issues/1\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftmotions%2Facdb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoftmotions%2Facdb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftmotions%2Facdb/lists"}