{"id":15707758,"url":"https://github.com/PsychoLlama/alternaut.nvim","last_synced_at":"2025-03-12T09:32:08.855Z","repository":{"id":92781464,"uuid":"237513254","full_name":"PsychoLlama/alternaut.nvim","owner":"PsychoLlama","description":"Jump between your test and source files.","archived":false,"fork":false,"pushed_at":"2024-11-26T22:24:48.000Z","size":35,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-05T17:59:36.953Z","etag":null,"topics":["navigation","tdd","testing","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PsychoLlama.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2020-01-31T20:46:59.000Z","updated_at":"2024-11-26T22:24:29.000Z","dependencies_parsed_at":"2024-11-26T23:35:18.968Z","dependency_job_id":null,"html_url":"https://github.com/PsychoLlama/alternaut.nvim","commit_stats":null,"previous_names":["psychollama/alternaut.nvim"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PsychoLlama%2Falternaut.nvim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PsychoLlama%2Falternaut.nvim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PsychoLlama%2Falternaut.nvim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PsychoLlama%2Falternaut.nvim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PsychoLlama","download_url":"https://codeload.github.com/PsychoLlama/alternaut.nvim/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243191549,"owners_count":20251071,"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":["navigation","tdd","testing","vim-plugin"],"created_at":"2024-10-03T20:41:18.157Z","updated_at":"2025-03-12T09:32:08.841Z","avatar_url":"https://github.com/PsychoLlama.png","language":"Vim Script","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003ealternaut.nvim\u003c/h1\u003e\n\n  \u003ca href=\"https://github.com/PsychoLlama/alternaut.nvim/actions?query=workflow%3ATest\"\u003e\n    \u003cimg src=\"https://github.com/PsychoLlama/alternaut.nvim/workflows/Test/badge.svg\" alt=\"Build Status\" /\u003e\n  \u003c/a\u003e\n\n  \u003cp\u003eJump between your test and source files.\u003c/p\u003e\n\u003c/div\u003e\n\n## Example\n\nSay you've got a project structure like this:\n\n```\nsrc/\n  __tests__/\n    logic.test.js\n    foo.test.js\n  logic.js\n  foo.js\n```\n\nand you're editing `src/foo.js`. You want to open the test file.\n\nThat's where alternaut comes in. Hit the keybinding and you're in\n`src/__tests__/foo.test.js`. Toggle again and you're right back in the other\nfile.\n\n## Configuration\n\nAlternaut doesn't make any assumptions about your project structure. You need\nto tell it your conventions. What do you name your test directories? What do\nyou name your test files? That kind of thing.\n\n```viml\n\" A typical JavaScript setup.\nlet alternaut#conventions = {}\nlet alternaut#conventions['javascript'] = {\n\\   'directory_naming_conventions': ['__tests__', 'tests'],\n\\   'file_naming_conventions': ['{name}.test.{ext}', '{name}.spec.{ext}'],\n\\   'file_extensions': ['js', 'jsx'],\n\\ }\n```\n\nOnce that's registered, create a mapping:\n\n```viml\nnmap \u003cleader\u003ea \u003cPlug\u003e(alternaut-toggle)\n```\n\nAny time you open a `javascript` file, press `\u003cleader\u003ea` and it'll toggle\nbetween the corresponding test and source file.\n\n## [Documentation](https://github.com/PsychoLlama/alternaut.nvim/blob/main/doc/alternaut.txt)\n\nThe way of our people is [help files](https://github.com/PsychoLlama/alternaut.nvim/blob/main/doc/alternaut.txt).\n\n```viml\n:help alternaut\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPsychoLlama%2Falternaut.nvim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FPsychoLlama%2Falternaut.nvim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPsychoLlama%2Falternaut.nvim/lists"}