GithubHelp home page GithubHelp logo

lunarwatcher / skye.vim Goto Github PK

View Code? Open in Web Editor NEW
2.0 3.0 0.0 78 KB

Plugin for displaying GitHub issues and (some details about) pull requests inside Vim.

License: MIT License

CMake 8.42% Vim Script 37.71% C++ 53.87%
vim9 vim-plugin github github-api cpp20 issues vim editor-plugin github-integration

skye.vim's Introduction

Skye.vim

Connects to GitHub (pull requests for other commonly used VCS sites are welcome as long as there's an API) to display issues and comments in Vim.

See the documentation file for an extended intro, as well as the deets.

Issue creation and management may be implemented in the future, but the main goal at the moment is just to list and display.

Requirements:

  • C++20 compiler
  • CMake
  • Python 3 with Conan (https://conan.io)
  • Modern Vim (8.2.2845+ guaranteed; this plugin uses Vim9, meaning there's limited version support as long as Vim9 is under active development). Neovim is not supported
  • Git in PATH or otherwise accessible from system()
  • A decent internet connection - support for awful internet connections relies on multithreading, which Vim doesn't support, and that I can't implement when dynamic libraries are unloaded after use (read: I will not fix issues triggered by bad internet connections. Bad here is generally defined as anything that takes ages to fetch data from the API)

Note: As I don't use Windows or Mac (and I can't be arsed to set up tests - testing networking is a pain), I have no idea whether or not this works on Mac or Windows. Support is guaranteed for desktop Linux, however, as long as it's a distro with support for modern compilers, Python 3, and pip.

The current requirement of requiring Git in PATH may or may not make it harder to use on Windows, which is yet another reason it may not work under Windows. If it fails and you'd like to see it work, submit a PR.

Installation

When you've fulfilled the requirements, it should be relatively straight-forward to install. The exact method depends on your plugin manager, but with vim-plug:

Plug 'LunarWatcher/skye.vim', { 'do': 'mkdir -p build && cd build && cmake .. && make -j 8' }

TODO before v1.0.0:

  • Issue lists
  • Show individual issues
  • Reformat the list to be compact (don't include a summary at all, for clarity)
  • More syntax highlighting on the list page
  • Filtering
  • Refreshing (keybind, may potentially just re-call SkyeList or SkyeShow)
  • Dealing with paging served by the API
  • Display pull requests (... and comments, but exclude changes because arsed to render that in Vim)
  • Rewrite API access to use multiprocess interop (+clientserver) over the garbage used here

Future ideas:

  • Issue editing and posting (full integration instead of read-only - we have the tokens for it already)

skye.vim's People

Contributors

lunarwatcher avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

skye.vim's Issues

This is a test issue

This is a test issue required for development (read: I need an issue, so here it is)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.