├── .editorconfig ├── .github └── workflows │ ├── autofix.yml │ ├── check.yml │ └── release-builds.yml ├── .gitignore ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── dev-doc ├── architecture-and-design.md ├── images │ ├── no-plugins-1.png │ └── no-plugins-2.png ├── patterns.md ├── plugin-structure.md ├── releasing.md ├── settings.rst ├── tests.md └── virtual-events.md ├── launcher ├── icon.rc ├── launch.pyw ├── main.c └── metadata.rc ├── mypy.ini ├── porcupine ├── __init__.py ├── __main__.py ├── _logs.py ├── _state.py ├── actions.py ├── default_filetypes.toml ├── default_keybindings.tcl ├── dirs.py ├── images │ ├── __init__.py │ ├── closebutton_dark.png │ ├── closebutton_light.png │ ├── logo-200x200.gif │ ├── logo.gif │ ├── pause_dark.png │ ├── pause_light.png │ ├── resume_dark.png │ ├── resume_light.png │ ├── sources.txt │ ├── stop.png │ ├── triangle.gif │ └── venv.png ├── menubar.py ├── pluginloader.py ├── pluginmanager.py ├── plugins │ ├── __init__.py │ ├── aboutdialog.py │ ├── anchors.py │ ├── autocomplete.py │ ├── autoindent.py │ ├── comment_selected_lines.py │ ├── desktop_menu.py │ ├── directory_tree.py │ ├── drop_to_open.py │ ├── editorconfig.py │ ├── filemanager.py │ ├── filetypes.py │ ├── find.py │ ├── fold.py │ ├── fullscreen.py │ ├── geometry.py │ ├── git_right_click.py │ ├── git_status.py │ ├── google_search.py │ ├── gotoline.py │ ├── hide_project.py │ ├── highlight │ │ ├── __init__.py │ │ ├── base_highlighter.py │ │ ├── pygments_highlighter.py │ │ ├── tree-sitter-token-mappings │ │ │ ├── README.md │ │ │ ├── c.yml │ │ │ ├── json.yml │ │ │ ├── markdown.yml │ │ │ ├── python.yml │ │ │ ├── rust.yml │ │ │ └── toml.yml │ │ └── tree_sitter_highlighter.py │ ├── hover.py │ ├── indent_block.py │ ├── jump_to_definition.py │ ├── keybindings.py │ ├── langserver.py │ ├── linenumbers.py │ ├── longlinemarker.py │ ├── matching_paren.py │ ├── mergeconflict.py │ ├── minimap.py │ ├── pastebin.py │ ├── poppingtabs.py │ ├── porcupine_debug_prompt.py │ ├── python_tools.py │ ├── python_venv.py │ ├── reload.py │ ├── restart.py │ ├── rightclick_menu.py │ ├── rstrip.py │ ├── run │ │ ├── __init__.py │ │ ├── bash_run.sh │ │ ├── common.py │ │ ├── dialog.py │ │ ├── history.py │ │ ├── no_terminal.py │ │ ├── terminal.py │ │ └── windows_run.py │ ├── sort.py │ ├── statusbar.py │ ├── sun_valley_theme.py │ ├── tab_closing.py │ ├── tab_order.py │ ├── tabs2spaces.py │ ├── trailing_newline.py │ ├── underlines.py │ ├── update_check.py │ ├── urls.py │ ├── welcome.py │ ├── windowicon.py │ └── wrap.py ├── settings.py ├── tabs.py ├── textutils.py └── utils.py ├── pyproject.toml ├── pytest.ini ├── requirements-dev.txt ├── screenshot.png ├── scripts ├── build-exe-installer.py ├── check-markdown-links.py ├── download-tkdnd.py ├── installer.nsi ├── release.py └── tree-sitter-dump.py ├── tests ├── conftest.py ├── editorconfig_test_data │ ├── .editorconfig │ ├── editorconfig_org │ │ └── .editorconfig │ └── foo │ │ └── .editorconfig ├── test_about_dialog.py ├── test_actions.py ├── test_anchors_plugin.py ├── test_autocomplete_plugin.py ├── test_cli.py ├── test_comment_block_plugin.py ├── test_default_keybindings.py ├── test_directory_tree_plugin.py ├── test_docs.py ├── test_editorconfig_plugin.py ├── test_filemanager_plugin.py ├── test_filetypes_plugin.py ├── test_find_plugin.py ├── test_fold_plugin.py ├── test_fullscreen_plugin.py ├── test_git_right_click.py ├── test_git_status_plugin.py ├── test_highlight_plugin.py ├── test_images.py ├── test_indent_dedent.py ├── test_jump_to_definition_plugin.py ├── test_langserver.py ├── test_logs.py ├── test_matching_paren_plugin.py ├── test_menubar.py ├── test_mergeconflict_plugin.py ├── test_pastebin_plugin.py ├── test_pluginloader.py ├── test_pluginmanager.py ├── test_porcupine_files.py ├── test_reload_plugin.py ├── test_restart_plugin.py ├── test_rstrip_plugin.py ├── test_run_plugin.py ├── test_settings.py ├── test_sort_plugin.py ├── test_statusbar_plugin.py ├── test_sun_valley_theme_plugin.py ├── test_tabs.py ├── test_textutils_changes.py ├── test_trailing_newline_plugin.py ├── test_update_check_plugin.py ├── test_urls_plugin.py ├── test_utils.py ├── test_venv_plugin.py └── test_welcome_plugin.py ├── user-doc ├── getting-started.md ├── images │ ├── directory-tree-nothing-opened.png │ ├── directory-tree-stuff-opened.png │ ├── hello-world-not-saved.png │ ├── hello-world-run-external-terminal.png │ ├── hello-world-run.png │ ├── just-started.png │ ├── open-in-terminal.png │ ├── run-command-dialog.png │ ├── venv-pip-install.png │ ├── venv-right-click.png │ └── venv-run.png ├── new-programming-language.md └── projects.md └── windows-defender.png /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/.editorconfig -------------------------------------------------------------------------------- /.github/workflows/autofix.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/.github/workflows/autofix.yml -------------------------------------------------------------------------------- /.github/workflows/check.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/.github/workflows/check.yml -------------------------------------------------------------------------------- /.github/workflows/release-builds.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/.github/workflows/release-builds.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/.gitignore -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/README.md -------------------------------------------------------------------------------- /dev-doc/architecture-and-design.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/dev-doc/architecture-and-design.md -------------------------------------------------------------------------------- /dev-doc/images/no-plugins-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/dev-doc/images/no-plugins-1.png -------------------------------------------------------------------------------- /dev-doc/images/no-plugins-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/dev-doc/images/no-plugins-2.png -------------------------------------------------------------------------------- /dev-doc/patterns.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/dev-doc/patterns.md -------------------------------------------------------------------------------- /dev-doc/plugin-structure.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/dev-doc/plugin-structure.md -------------------------------------------------------------------------------- /dev-doc/releasing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/dev-doc/releasing.md -------------------------------------------------------------------------------- /dev-doc/settings.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/dev-doc/settings.rst -------------------------------------------------------------------------------- /dev-doc/tests.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/dev-doc/tests.md -------------------------------------------------------------------------------- /dev-doc/virtual-events.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/dev-doc/virtual-events.md -------------------------------------------------------------------------------- /launcher/icon.rc: -------------------------------------------------------------------------------- 1 | /* https://stackoverflow.com/a/708382 */ 2 | id ICON "..\\porcupine-logo.ico" 3 | -------------------------------------------------------------------------------- /launcher/launch.pyw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/launcher/launch.pyw -------------------------------------------------------------------------------- /launcher/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/launcher/main.c -------------------------------------------------------------------------------- /launcher/metadata.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/launcher/metadata.rc -------------------------------------------------------------------------------- /mypy.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/mypy.ini -------------------------------------------------------------------------------- /porcupine/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/__init__.py -------------------------------------------------------------------------------- /porcupine/__main__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/__main__.py -------------------------------------------------------------------------------- /porcupine/_logs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/_logs.py -------------------------------------------------------------------------------- /porcupine/_state.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/_state.py -------------------------------------------------------------------------------- /porcupine/actions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/actions.py -------------------------------------------------------------------------------- /porcupine/default_filetypes.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/default_filetypes.toml -------------------------------------------------------------------------------- /porcupine/default_keybindings.tcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/default_keybindings.tcl -------------------------------------------------------------------------------- /porcupine/dirs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/dirs.py -------------------------------------------------------------------------------- /porcupine/images/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/images/__init__.py -------------------------------------------------------------------------------- /porcupine/images/closebutton_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/images/closebutton_dark.png -------------------------------------------------------------------------------- /porcupine/images/closebutton_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/images/closebutton_light.png -------------------------------------------------------------------------------- /porcupine/images/logo-200x200.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/images/logo-200x200.gif -------------------------------------------------------------------------------- /porcupine/images/logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/images/logo.gif -------------------------------------------------------------------------------- /porcupine/images/pause_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/images/pause_dark.png -------------------------------------------------------------------------------- /porcupine/images/pause_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/images/pause_light.png -------------------------------------------------------------------------------- /porcupine/images/resume_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/images/resume_dark.png -------------------------------------------------------------------------------- /porcupine/images/resume_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/images/resume_light.png -------------------------------------------------------------------------------- /porcupine/images/sources.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/images/sources.txt -------------------------------------------------------------------------------- /porcupine/images/stop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/images/stop.png -------------------------------------------------------------------------------- /porcupine/images/triangle.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/images/triangle.gif -------------------------------------------------------------------------------- /porcupine/images/venv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/images/venv.png -------------------------------------------------------------------------------- /porcupine/menubar.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/menubar.py -------------------------------------------------------------------------------- /porcupine/pluginloader.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/pluginloader.py -------------------------------------------------------------------------------- /porcupine/pluginmanager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/pluginmanager.py -------------------------------------------------------------------------------- /porcupine/plugins/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/__init__.py -------------------------------------------------------------------------------- /porcupine/plugins/aboutdialog.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/aboutdialog.py -------------------------------------------------------------------------------- /porcupine/plugins/anchors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/anchors.py -------------------------------------------------------------------------------- /porcupine/plugins/autocomplete.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/autocomplete.py -------------------------------------------------------------------------------- /porcupine/plugins/autoindent.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/autoindent.py -------------------------------------------------------------------------------- /porcupine/plugins/comment_selected_lines.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/comment_selected_lines.py -------------------------------------------------------------------------------- /porcupine/plugins/desktop_menu.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/desktop_menu.py -------------------------------------------------------------------------------- /porcupine/plugins/directory_tree.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/directory_tree.py -------------------------------------------------------------------------------- /porcupine/plugins/drop_to_open.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/drop_to_open.py -------------------------------------------------------------------------------- /porcupine/plugins/editorconfig.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/editorconfig.py -------------------------------------------------------------------------------- /porcupine/plugins/filemanager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/filemanager.py -------------------------------------------------------------------------------- /porcupine/plugins/filetypes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/filetypes.py -------------------------------------------------------------------------------- /porcupine/plugins/find.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/find.py -------------------------------------------------------------------------------- /porcupine/plugins/fold.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/fold.py -------------------------------------------------------------------------------- /porcupine/plugins/fullscreen.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/fullscreen.py -------------------------------------------------------------------------------- /porcupine/plugins/geometry.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/geometry.py -------------------------------------------------------------------------------- /porcupine/plugins/git_right_click.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/git_right_click.py -------------------------------------------------------------------------------- /porcupine/plugins/git_status.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/git_status.py -------------------------------------------------------------------------------- /porcupine/plugins/google_search.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/google_search.py -------------------------------------------------------------------------------- /porcupine/plugins/gotoline.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/gotoline.py -------------------------------------------------------------------------------- /porcupine/plugins/hide_project.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/hide_project.py -------------------------------------------------------------------------------- /porcupine/plugins/highlight/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/highlight/__init__.py -------------------------------------------------------------------------------- /porcupine/plugins/highlight/base_highlighter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/highlight/base_highlighter.py -------------------------------------------------------------------------------- /porcupine/plugins/highlight/pygments_highlighter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/highlight/pygments_highlighter.py -------------------------------------------------------------------------------- /porcupine/plugins/highlight/tree-sitter-token-mappings/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/highlight/tree-sitter-token-mappings/README.md -------------------------------------------------------------------------------- /porcupine/plugins/highlight/tree-sitter-token-mappings/c.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/highlight/tree-sitter-token-mappings/c.yml -------------------------------------------------------------------------------- /porcupine/plugins/highlight/tree-sitter-token-mappings/json.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/highlight/tree-sitter-token-mappings/json.yml -------------------------------------------------------------------------------- /porcupine/plugins/highlight/tree-sitter-token-mappings/markdown.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/highlight/tree-sitter-token-mappings/markdown.yml -------------------------------------------------------------------------------- /porcupine/plugins/highlight/tree-sitter-token-mappings/python.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/highlight/tree-sitter-token-mappings/python.yml -------------------------------------------------------------------------------- /porcupine/plugins/highlight/tree-sitter-token-mappings/rust.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/highlight/tree-sitter-token-mappings/rust.yml -------------------------------------------------------------------------------- /porcupine/plugins/highlight/tree-sitter-token-mappings/toml.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/highlight/tree-sitter-token-mappings/toml.yml -------------------------------------------------------------------------------- /porcupine/plugins/highlight/tree_sitter_highlighter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/highlight/tree_sitter_highlighter.py -------------------------------------------------------------------------------- /porcupine/plugins/hover.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/hover.py -------------------------------------------------------------------------------- /porcupine/plugins/indent_block.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/indent_block.py -------------------------------------------------------------------------------- /porcupine/plugins/jump_to_definition.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/jump_to_definition.py -------------------------------------------------------------------------------- /porcupine/plugins/keybindings.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/keybindings.py -------------------------------------------------------------------------------- /porcupine/plugins/langserver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/langserver.py -------------------------------------------------------------------------------- /porcupine/plugins/linenumbers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/linenumbers.py -------------------------------------------------------------------------------- /porcupine/plugins/longlinemarker.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/longlinemarker.py -------------------------------------------------------------------------------- /porcupine/plugins/matching_paren.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/matching_paren.py -------------------------------------------------------------------------------- /porcupine/plugins/mergeconflict.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/mergeconflict.py -------------------------------------------------------------------------------- /porcupine/plugins/minimap.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/minimap.py -------------------------------------------------------------------------------- /porcupine/plugins/pastebin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/pastebin.py -------------------------------------------------------------------------------- /porcupine/plugins/poppingtabs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/poppingtabs.py -------------------------------------------------------------------------------- /porcupine/plugins/porcupine_debug_prompt.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/porcupine_debug_prompt.py -------------------------------------------------------------------------------- /porcupine/plugins/python_tools.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/python_tools.py -------------------------------------------------------------------------------- /porcupine/plugins/python_venv.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/python_venv.py -------------------------------------------------------------------------------- /porcupine/plugins/reload.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/reload.py -------------------------------------------------------------------------------- /porcupine/plugins/restart.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/restart.py -------------------------------------------------------------------------------- /porcupine/plugins/rightclick_menu.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/rightclick_menu.py -------------------------------------------------------------------------------- /porcupine/plugins/rstrip.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/rstrip.py -------------------------------------------------------------------------------- /porcupine/plugins/run/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/run/__init__.py -------------------------------------------------------------------------------- /porcupine/plugins/run/bash_run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/run/bash_run.sh -------------------------------------------------------------------------------- /porcupine/plugins/run/common.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/run/common.py -------------------------------------------------------------------------------- /porcupine/plugins/run/dialog.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/run/dialog.py -------------------------------------------------------------------------------- /porcupine/plugins/run/history.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/run/history.py -------------------------------------------------------------------------------- /porcupine/plugins/run/no_terminal.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/run/no_terminal.py -------------------------------------------------------------------------------- /porcupine/plugins/run/terminal.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/run/terminal.py -------------------------------------------------------------------------------- /porcupine/plugins/run/windows_run.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/run/windows_run.py -------------------------------------------------------------------------------- /porcupine/plugins/sort.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/sort.py -------------------------------------------------------------------------------- /porcupine/plugins/statusbar.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/statusbar.py -------------------------------------------------------------------------------- /porcupine/plugins/sun_valley_theme.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/sun_valley_theme.py -------------------------------------------------------------------------------- /porcupine/plugins/tab_closing.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/tab_closing.py -------------------------------------------------------------------------------- /porcupine/plugins/tab_order.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/tab_order.py -------------------------------------------------------------------------------- /porcupine/plugins/tabs2spaces.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/tabs2spaces.py -------------------------------------------------------------------------------- /porcupine/plugins/trailing_newline.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/trailing_newline.py -------------------------------------------------------------------------------- /porcupine/plugins/underlines.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/underlines.py -------------------------------------------------------------------------------- /porcupine/plugins/update_check.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/update_check.py -------------------------------------------------------------------------------- /porcupine/plugins/urls.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/urls.py -------------------------------------------------------------------------------- /porcupine/plugins/welcome.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/welcome.py -------------------------------------------------------------------------------- /porcupine/plugins/windowicon.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/windowicon.py -------------------------------------------------------------------------------- /porcupine/plugins/wrap.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/plugins/wrap.py -------------------------------------------------------------------------------- /porcupine/settings.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/settings.py -------------------------------------------------------------------------------- /porcupine/tabs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/tabs.py -------------------------------------------------------------------------------- /porcupine/textutils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/textutils.py -------------------------------------------------------------------------------- /porcupine/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/porcupine/utils.py -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/pyproject.toml -------------------------------------------------------------------------------- /pytest.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/pytest.ini -------------------------------------------------------------------------------- /requirements-dev.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/requirements-dev.txt -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/screenshot.png -------------------------------------------------------------------------------- /scripts/build-exe-installer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/scripts/build-exe-installer.py -------------------------------------------------------------------------------- /scripts/check-markdown-links.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/scripts/check-markdown-links.py -------------------------------------------------------------------------------- /scripts/download-tkdnd.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/scripts/download-tkdnd.py -------------------------------------------------------------------------------- /scripts/installer.nsi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/scripts/installer.nsi -------------------------------------------------------------------------------- /scripts/release.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/scripts/release.py -------------------------------------------------------------------------------- /scripts/tree-sitter-dump.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/scripts/tree-sitter-dump.py -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/editorconfig_test_data/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/editorconfig_test_data/.editorconfig -------------------------------------------------------------------------------- /tests/editorconfig_test_data/editorconfig_org/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/editorconfig_test_data/editorconfig_org/.editorconfig -------------------------------------------------------------------------------- /tests/editorconfig_test_data/foo/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/editorconfig_test_data/foo/.editorconfig -------------------------------------------------------------------------------- /tests/test_about_dialog.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_about_dialog.py -------------------------------------------------------------------------------- /tests/test_actions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_actions.py -------------------------------------------------------------------------------- /tests/test_anchors_plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_anchors_plugin.py -------------------------------------------------------------------------------- /tests/test_autocomplete_plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_autocomplete_plugin.py -------------------------------------------------------------------------------- /tests/test_cli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_cli.py -------------------------------------------------------------------------------- /tests/test_comment_block_plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_comment_block_plugin.py -------------------------------------------------------------------------------- /tests/test_default_keybindings.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_default_keybindings.py -------------------------------------------------------------------------------- /tests/test_directory_tree_plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_directory_tree_plugin.py -------------------------------------------------------------------------------- /tests/test_docs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_docs.py -------------------------------------------------------------------------------- /tests/test_editorconfig_plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_editorconfig_plugin.py -------------------------------------------------------------------------------- /tests/test_filemanager_plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_filemanager_plugin.py -------------------------------------------------------------------------------- /tests/test_filetypes_plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_filetypes_plugin.py -------------------------------------------------------------------------------- /tests/test_find_plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_find_plugin.py -------------------------------------------------------------------------------- /tests/test_fold_plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_fold_plugin.py -------------------------------------------------------------------------------- /tests/test_fullscreen_plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_fullscreen_plugin.py -------------------------------------------------------------------------------- /tests/test_git_right_click.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_git_right_click.py -------------------------------------------------------------------------------- /tests/test_git_status_plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_git_status_plugin.py -------------------------------------------------------------------------------- /tests/test_highlight_plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_highlight_plugin.py -------------------------------------------------------------------------------- /tests/test_images.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_images.py -------------------------------------------------------------------------------- /tests/test_indent_dedent.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_indent_dedent.py -------------------------------------------------------------------------------- /tests/test_jump_to_definition_plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_jump_to_definition_plugin.py -------------------------------------------------------------------------------- /tests/test_langserver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_langserver.py -------------------------------------------------------------------------------- /tests/test_logs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_logs.py -------------------------------------------------------------------------------- /tests/test_matching_paren_plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_matching_paren_plugin.py -------------------------------------------------------------------------------- /tests/test_menubar.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_menubar.py -------------------------------------------------------------------------------- /tests/test_mergeconflict_plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_mergeconflict_plugin.py -------------------------------------------------------------------------------- /tests/test_pastebin_plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_pastebin_plugin.py -------------------------------------------------------------------------------- /tests/test_pluginloader.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_pluginloader.py -------------------------------------------------------------------------------- /tests/test_pluginmanager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_pluginmanager.py -------------------------------------------------------------------------------- /tests/test_porcupine_files.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_porcupine_files.py -------------------------------------------------------------------------------- /tests/test_reload_plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_reload_plugin.py -------------------------------------------------------------------------------- /tests/test_restart_plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_restart_plugin.py -------------------------------------------------------------------------------- /tests/test_rstrip_plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_rstrip_plugin.py -------------------------------------------------------------------------------- /tests/test_run_plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_run_plugin.py -------------------------------------------------------------------------------- /tests/test_settings.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_settings.py -------------------------------------------------------------------------------- /tests/test_sort_plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_sort_plugin.py -------------------------------------------------------------------------------- /tests/test_statusbar_plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_statusbar_plugin.py -------------------------------------------------------------------------------- /tests/test_sun_valley_theme_plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_sun_valley_theme_plugin.py -------------------------------------------------------------------------------- /tests/test_tabs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_tabs.py -------------------------------------------------------------------------------- /tests/test_textutils_changes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_textutils_changes.py -------------------------------------------------------------------------------- /tests/test_trailing_newline_plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_trailing_newline_plugin.py -------------------------------------------------------------------------------- /tests/test_update_check_plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_update_check_plugin.py -------------------------------------------------------------------------------- /tests/test_urls_plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_urls_plugin.py -------------------------------------------------------------------------------- /tests/test_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_utils.py -------------------------------------------------------------------------------- /tests/test_venv_plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_venv_plugin.py -------------------------------------------------------------------------------- /tests/test_welcome_plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/tests/test_welcome_plugin.py -------------------------------------------------------------------------------- /user-doc/getting-started.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/user-doc/getting-started.md -------------------------------------------------------------------------------- /user-doc/images/directory-tree-nothing-opened.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/user-doc/images/directory-tree-nothing-opened.png -------------------------------------------------------------------------------- /user-doc/images/directory-tree-stuff-opened.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/user-doc/images/directory-tree-stuff-opened.png -------------------------------------------------------------------------------- /user-doc/images/hello-world-not-saved.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/user-doc/images/hello-world-not-saved.png -------------------------------------------------------------------------------- /user-doc/images/hello-world-run-external-terminal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/user-doc/images/hello-world-run-external-terminal.png -------------------------------------------------------------------------------- /user-doc/images/hello-world-run.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/user-doc/images/hello-world-run.png -------------------------------------------------------------------------------- /user-doc/images/just-started.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/user-doc/images/just-started.png -------------------------------------------------------------------------------- /user-doc/images/open-in-terminal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/user-doc/images/open-in-terminal.png -------------------------------------------------------------------------------- /user-doc/images/run-command-dialog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/user-doc/images/run-command-dialog.png -------------------------------------------------------------------------------- /user-doc/images/venv-pip-install.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/user-doc/images/venv-pip-install.png -------------------------------------------------------------------------------- /user-doc/images/venv-right-click.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/user-doc/images/venv-right-click.png -------------------------------------------------------------------------------- /user-doc/images/venv-run.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/user-doc/images/venv-run.png -------------------------------------------------------------------------------- /user-doc/new-programming-language.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/user-doc/new-programming-language.md -------------------------------------------------------------------------------- /user-doc/projects.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/user-doc/projects.md -------------------------------------------------------------------------------- /windows-defender.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Akuli/porcupine/HEAD/windows-defender.png --------------------------------------------------------------------------------