{"id":15621546,"url":"https://github.com/thosakwe/vim-flutter","last_synced_at":"2025-04-05T11:09:02.792Z","repository":{"id":34453891,"uuid":"175346527","full_name":"thosakwe/vim-flutter","owner":"thosakwe","description":"Vim commands for Flutter, including hot-reload-on-save and more. 🦋","archived":false,"fork":false,"pushed_at":"2023-06-07T10:03:15.000Z","size":656,"stargazers_count":420,"open_issues_count":3,"forks_count":31,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-29T10:07:15.007Z","etag":null,"topics":["flutter","vim"],"latest_commit_sha":null,"homepage":"","language":"Vim Script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thosakwe.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-03-13T04:31:00.000Z","updated_at":"2025-03-13T13:53:47.000Z","dependencies_parsed_at":"2024-10-22T21:00:19.118Z","dependency_job_id":null,"html_url":"https://github.com/thosakwe/vim-flutter","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/thosakwe%2Fvim-flutter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thosakwe%2Fvim-flutter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thosakwe%2Fvim-flutter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thosakwe%2Fvim-flutter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thosakwe","download_url":"https://codeload.github.com/thosakwe/vim-flutter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247325693,"owners_count":20920714,"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":["flutter","vim"],"created_at":"2024-10-03T09:41:44.870Z","updated_at":"2025-04-05T11:09:02.767Z","avatar_url":"https://github.com/thosakwe.png","language":"Vim Script","funding_links":[],"categories":[],"sub_categories":[],"readme":"# vim-flutter\nVim commands for Flutter, including hot-reload-on-save and more.\n\n![Demo usage GIF](demo.gif)\n\n## Usage\nUsage documentation can be found both in this README, as well\nas via calling `:h flutter`.\n\n## Installation\n`vim-flutter` is a Vimscript-only plugin, and makes heavy\nuse of Vim8's async jobs. It can be installed with a\npackage manager like\n[`vim-plug`](https://github.com/junegunn/vim-plug)\n, for example.\n\nThough this package doesn't depend on it, having\n[`dart-vim-plugin`](https://github.com/dart-lang/dart-vim-plugin)\navailable is recommended, for a better experience.\n\nYou may also consider combining\n[`package:dart_language_server`](https://github.com/natebosch/dart_language_server)\nwith a Language Server Protocol client, like\n[`ale`](https://github.com/w0rp/ale).\n\n```vim\nPlug 'dart-lang/dart-vim-plugin'\nPlug 'thosakwe/vim-flutter'\n\n\" Run :PlugInstall to install the plugin.\n```\n\nUltimately, installation is up to you.\n\n## Options\n* `g:flutter_command` - The Flutter executable path/name; defaults to `'flutter'`.\n* `g:flutter_hot_reload_on_save` - Whether to auto hot-reload when `dart` files\nare saved; defaults to `1`.\n* `g:flutter_hot_restart_on_save` - Whether to auto hot-restart when `dart` files\nare saved; defaults to `0`.\n* `g:flutter_show_log_on_run` - Automatically open `__Flutter_Output__` when starting\nflutter using `:FlutterRun`; it can have one of the following values:\n  * `\"split\"` or `1`: Open the log in a split, this is the default.\n  * `\"tab\"`: Open the log in a new tab.\n  * `\"hidden\"` or `0`: Do not open the log by default, can be opened later with `FlutterSplit` etc.\n* `g:flutter_show_log_on_attach` - Identical to `g:flutter_show_log_on_run` but affecting\nthe `:FlutterAttach` command.\n* `g:flutter_split_height` - Initial height of the window opened by `:FlutterSplit` (or `:FlutterRun` and\n  `:FlutterAttach`, when `g:flutter_show_log_on_run` is set to `\"split\"`); defaults to standard vim behavior,\n  which is splitting the window in half.\n* `g:flutter_autoscroll` - Autoscroll the flutter log when `1`, defaults to `0`.\n* `g:flutter_use_last_run_option` - When set to `1` then `:FlutterRun` will use the arguments from\nthe previous call when no arguments are specified.\n* `g:flutter_use_last_attach_option` - Identical to `g:flutter_use_last_run_option` but\naffecting the `:FlutterAttach` command.\n* `g:flutter_close_on_quit` - Whether to close all `__Flutter_Output__` windows (splits and tabs) on `:FlutterQuit`;\ndefaults to `0`.\n\n## Provided Commands\n* `:FlutterRun \u003cargs\u003e` - calls `flutter run \u003cargs\u003e`\n* `:FlutterAttach \u003cargs\u003e` - calls `flutter attach \u003cargs\u003e`\n* `:FlutterHotReload` - triggers a hot reload on the current Flutter process\n* `:FlutterHotRestart` - triggers a hot restart on the current Flutter process\n* `:FlutterScreenshot` - takes a screenshot of the current Flutter application and saves it in the project directory\n* `:FlutterQuit` - quits the current Flutter process\n* `:FlutterDevices` - opens a new buffer, and writes the output of `flutter devices` to it\n* `:FlutterSplit` - opens Flutter output in a horizontal split\n* `:FlutterEmulators` - Executes a `flutter emulators` process.\n* `:FlutterEmulatorsLaunch` - Executes a `flutter emulators --launch` process, with any provided\narguments.\n* `:FlutterVisualDebug` - Toggles visual debugging in the running Flutter process.\n\nThe following are self-explanatory:\n* `:FlutterVSplit`\n* `:FlutterTab`\n\n## Menu Support\nIf you are using a GUI Vim Variant, you can add a `Flutter` menu by calling `call FlutterMenu()`.\n\n## Hot Reload on Save\nA convenient feature to have when working with Flutter is\nto automatically hot-reload an app once a file is saved.\nBy default, whenever a `dart` file is saved, *if and only if*\na Flutter process is running, it will be hot-reloaded.\n\nYou can disable this by setting `g:hot_reload_on_save=0`,\n*before* `vim-flutter` is loaded.\n\n## Example `.vimrc`\n```vim\nPlug 'thosakwe/vim-flutter'\ncall plug#end()\n\n\" Enable Flutter menu\ncall FlutterMenu()\n\n\" Some of these key choices were arbitrary;\n\" it's just an example.\nnnoremap \u003cleader\u003efa :FlutterRun\u003ccr\u003e\nnnoremap \u003cleader\u003efq :FlutterQuit\u003ccr\u003e\nnnoremap \u003cleader\u003efr :FlutterHotReload\u003ccr\u003e\nnnoremap \u003cleader\u003efR :FlutterHotRestart\u003ccr\u003e\nnnoremap \u003cleader\u003efD :FlutterVisualDebug\u003ccr\u003e\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthosakwe%2Fvim-flutter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthosakwe%2Fvim-flutter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthosakwe%2Fvim-flutter/lists"}