{"id":13726177,"url":"https://github.com/hackwaly/ocamlearlybird","last_synced_at":"2025-04-13T00:45:03.301Z","repository":{"id":38435121,"uuid":"150894748","full_name":"hackwaly/ocamlearlybird","owner":"hackwaly","description":"OCaml debug adapter","archived":false,"fork":false,"pushed_at":"2025-02-12T08:10:40.000Z","size":745,"stargazers_count":210,"open_issues_count":21,"forks_count":25,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-13T00:44:59.508Z","etag":null,"topics":["debug-adapter-protocol","debugger","ocaml"],"latest_commit_sha":null,"homepage":null,"language":"OCaml","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hackwaly.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2018-09-29T19:04:49.000Z","updated_at":"2025-03-18T22:50:57.000Z","dependencies_parsed_at":"2022-07-29T22:09:54.444Z","dependency_job_id":"2edcab62-8fe9-468a-92c6-1e87747a5f9d","html_url":"https://github.com/hackwaly/ocamlearlybird","commit_stats":{"total_commits":174,"total_committers":8,"mean_commits":21.75,"dds":0.4137931034482759,"last_synced_commit":"4720d632dc6b18188df3497e7d74698b5df04991"},"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackwaly%2Focamlearlybird","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackwaly%2Focamlearlybird/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackwaly%2Focamlearlybird/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackwaly%2Focamlearlybird/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hackwaly","download_url":"https://codeload.github.com/hackwaly/ocamlearlybird/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248650420,"owners_count":21139672,"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":["debug-adapter-protocol","debugger","ocaml"],"created_at":"2024-08-03T01:02:54.881Z","updated_at":"2025-04-13T00:45:03.280Z","avatar_url":"https://github.com/hackwaly.png","language":"OCaml","readme":"# OCaml earlybird\n\n[![ci workflow status](https://github.com/hackwaly/ocamlearlybird/actions/workflows/ci.yml/badge.svg)](https://github.com/hackwaly/ocamlearlybird/actions/workflows/ci.yml)\n[![GitHub release status](https://img.shields.io/github/v/release/hackwaly/ocamlearlybird)](https://github.com/hackwaly/ocamlearlybird/releases)\n[![opam package status](https://badgen.net/opam/v/earlybird)](https://opam.ocaml.org/packages/earlybird)\n\nOCaml debug adapter.\n\n## Installation\n\n```console\nopam install earlybird\n```\n\n## Usage\n\n### VS Code\n\nSee [Debugging OCaml programs (experimental)](https://github.com/ocamllabs/vscode-ocaml-platform#debugging-ocaml-programs-experimental) in VSCode OCaml Platform README.\nThis requires VSCode OCaml Platform 1.13 or newer.\n\n\u003e PS. Since the integration into VSCode OCaml Platform, the old \"Ocamlearlybird\" VSCode extension is deprecated.\n\n## Configuration\n\n| Field | Type | Default value | Description |\n| ----- | ---- | ------- | ----------- |\n| `program` | `string` | _(required)_ | The path of debuggee program. |\n| `arguments` | `string[]` | `[]` | The command-line arguments for the debuggee program. |\n| `cwd` | `string` |  | The working directory for debuggee program. |\n| `env` | `{[var: string]: string}` | `{}` | Environment variables passed to the debuggee program. |\n| `stopOnEntry` | `boolean` | `false` | Automatically stop after launch. |\n| `console` | `'internalConsole' \\|`\u003cbr\u003e`'integratedTerminal' \\|`\u003cbr\u003e` 'externalTerminal'` | `internalConsole` | Where to launch the debug target: internal console, integrated terminal, or external terminal. |\n| `followForkMode` | `'forkChild' \\| 'forkParent'` | `forkParent` | Set which process the debugger follows on fork. |\n| `source_dirs` | `string[]` | `[]` | The path to search sources. |\n| `onlyDebugGlob` | `string` | `true` | Only debug sources which match `onlyDebugGlob`. |\n| `yieldSteps` | `number` | `4096` | Max steps to execute in batch. Debugger can not response other requests when executing steps in batch. |\n| `_debugLog` | `string` |  | File to Log debug messages. |\n\n## Troubleshooting\n\n### Breakpoints not hit with `(lang dune 3.0)` and above\n\nChange to `(lang dune 3.7)` or above and add `(map_workspace_root false)` to your `dune-project`.\nSee [dune documentation](https://dune.readthedocs.io/en/stable/reference/dune-project/map_workspace_root.html) for more information.\n\n## Examples\n\n### utop\n\n[Screen capture of debugging utop](https://i.imgur.com/U3GDHXM.gif).\n\nLaunch configuration used:\n```json\n{\n    // Use IntelliSense to learn about possible attributes.\n    // Hover to view descriptions of existing attributes.\n    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387\n    \"version\": \"0.2.0\",\n    \"configurations\": [\n        {\n            \"name\": \"test_program\",\n            \"type\": \"ocaml.earlybird\",\n            \"request\": \"launch\",\n            \"stopOnEntry\": true,\n            \"console\": \"integratedTerminal\",\n            \"program\": \"${workspaceFolder}/_build/default/examples/interact/test_program.bc\",\n            \"onlyDebugGlob\": \"\u003c${workspaceFolder}/**/*\u003e\",\n            \"yieldSteps\": 1024,\n            \"cwd\": \"${workspaceFolder}\"\n        }\n    ]\n}\n```\n","funding_links":[],"categories":["OCaml","Developer Tools"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackwaly%2Focamlearlybird","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhackwaly%2Focamlearlybird","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackwaly%2Focamlearlybird/lists"}