Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate Leo with Visual Studio Code #1281

Closed
boltex opened this issue Aug 10, 2019 · 17 comments
Closed

Integrate Leo with Visual Studio Code #1281

boltex opened this issue Aug 10, 2019 · 17 comments
Assignees
Labels
Milestone

Comments

@boltex
Copy link
Contributor

boltex commented Aug 10, 2019

EKR: This page contains working code.

(Question about running / driving leo 'headless' to integrate it in my own GUI)

Hi! Long time leo user here. I use it mainly for the 'core' features: outline organisation of my code : @clean nodes, structure with @Others. And I alt-tab leo alongside with another editor/IDE for running/debugging/compiling/linting/beautifying/etc...

I dont care so much about vim/emacs integration nor dont even understand what those buffers/minibuffers are and all around feel like that qt-gui framework didnt age very well. (no offence meant here, as I would be devastated to think I offended edream, he's like my programming 'idol')
I also do not use @buttons and internal scripting in leo altough i can see its use for some people.

I mainly use Leo for its 'file-generation'/'file-reading' (mainly @clean) feature via the outline structure that it provides. Organising a program with an outline, clones and @Others is the best! Which also, if I may say so, is Leo's 'killer feature'.

So i'd like to try and integrate, or 'roll my own' leo in my other favorite editor so that I have the subset of leo's features that I just defined as its 'killer features' available without having Leo 'opened'.
Is leoBridge the way to go? ...or is there a way to start leo with no GUI and have it listen for commands on a specific port for input/output of commands and answers?

Many thanks in advance!!

@maphew maphew added the Help label Aug 12, 2019
@maphew
Copy link
Member

maphew commented Aug 12, 2019

@boltex

This comment has been minimized.

@edreamleo edreamleo added this to the 6.1 milestone Aug 30, 2019
@edreamleo

This comment has been minimized.

@edreamleo edreamleo reopened this Aug 30, 2019
@edreamleo
Copy link
Member

edreamleo commented Aug 30, 2019 via email

@edreamleo edreamleo added the Cool label Sep 3, 2019
@edreamleo edreamleo removed this from the 6.1 milestone Sep 3, 2019
@boltex

This comment has been minimized.

@boltex
Copy link
Contributor Author

boltex commented Sep 4, 2019

Before I reach that point in my development I'm going to ask here: does leoBridge / leo headless have triggers to latch on to for getting alerted when a derived file was changed by another process? ( leo does show a modal screen asking you if you want to reload the derived files from disk) Also other events I want to 'latch' on to is focusing on a particular node/body position when a search is done (find next/previous)
Edit: Thanks in advance ! :)

@edreamleo
Copy link
Member

edreamleo commented Sep 4, 2019 via email

@boltex

This comment has been minimized.

@boltex
Copy link
Contributor Author

boltex commented Oct 5, 2019

About a month ago I did a bunch of tests with vscode's extension capabilities along with tests with leoBridge's control of Leo.

Here a cleaned up version, where code-duplication was eliminated and all processes are now streamlined and simplified!

I think this is a great moment for testing that "basic browsing" works fine before adding outline editing, and map mostly all or the rest of Leo's functionality to be used seamlessly from vscode...

https://github.com/boltex/leointeg
image

Please try it out (browsing along with headline and body editing for now) and ask about anything I may have overlooked in this short invitation to beta-test my stuff for free ;)

Here is the last changelog entry:

  • Major 'Browsing' update before adding outline editing and file saving & derivation
  • Refactored and simplified communication between vscode and leoBridge
  • Stabilized browsing with multiple simultaneous (and different) body panes
  • Added Leo Outline into explorer view (in addition to the dedicated Leo sidebar view)
  • Supports new command to open a node on the side from the context menu
  • Multiple configuration options: Open Settings with CTRL+',' type 'leo', or look for 'leo integration' in extensions.

@edreamleo edreamleo added Enhancement and removed Help labels Oct 6, 2019
@edreamleo edreamleo added this to the 6.1 milestone Oct 6, 2019
@edreamleo edreamleo changed the title How to drive leo headless to use/build it in my own GUI? Integrate Leo with Visual Studio Code Oct 6, 2019
@boltex
Copy link
Contributor Author

boltex commented Oct 12, 2019

Support for windows has been fixed!

If pulling to update this repository make sure to re-run 'npm install' as a small dependency (hasbin) was added.

Many thanks to anyone testing this expansion and to Edward for reporting this bug!

@edreamleo edreamleo added the Delegated Delegatated to others label Oct 12, 2019
@edreamleo edreamleo removed the Cool label Oct 19, 2019
@edreamleo edreamleo modified the milestones: 6.1, 6.2 Oct 29, 2019
@boltex
Copy link
Contributor Author

boltex commented Jan 28, 2020

Hello to all Leo and vsCode users out there! 🦁

I made another release of leoInteg intended this time again for asking all of you to try out and test more features: Full outline and body editing!

Checkout the welcome screen that lets you change settings, all outline and body editing commands, undo, ... and a lot more, see the readme at the projects home page: https://github.com/boltex/leointeg

Sorry : Save / Derive files is only coming next release!

Many thanks to any of you that try it out and give me feedback. Any positive or negative feedback about any issue is greatly appreciated

Félix

@edreamleo edreamleo modified the milestones: 6.2, 6.4 Feb 5, 2020
@boltex
Copy link
Contributor Author

boltex commented May 30, 2020

Hello again to all Leo and vsCode users! 🦁

I just pushed a new version on the master branch of LeoInteg. ...I made sure it runs well under Windows this time! ;)

(lol honestly feel a bit silly I didnt even made sure my pasts releases even worked outside of ubuntu)

All main issues with the last version have been resolved, many new features have been added, and as ar-jan puts it, it's now possible to edit a derived file and smoothly keep it in sync with Leo, in both directions.

I've got all that and more on the master branch for you to try at https://github.com/boltex/leointeg

And if you're so enclined, I've even made a handy "Test-sheet" for you to use when you're trying out LeoInteg: https://docs.google.com/spreadsheets/d/1M7TA3J0hkBpU4BkyChThrhzwKxhTPtQHacXDYRvEQes/edit?usp=sharing

It's just a small grid of yellow checkboxes (from rows E to I) to help keep track of what features can be interacted with.

I hope you like it and also to get some feedback as you try it out! :)

Félix

@edreamleo
Copy link
Member

@boltex Many thanks for your continuing work. Your work might inspire similar work for emacs, vim, etc.

@boltex
Copy link
Contributor Author

boltex commented May 31, 2020

Your work might inspire similar work for emacs, vim, etc.

I just wanted to add, if it wasn't already known by observers of this project, that the 'leobridgeserver.py' server script is totally agnostic about it's clients nature and could be used as-is with any other integration target.

(edit: typos)

@edreamleo
Copy link
Member

@boltex Thanks for the clarification!

@boltex
Copy link
Contributor Author

boltex commented Sep 25, 2021

I'm adding this comment to this historic thread to mark the event of the first official release of LeoInteg!

https://marketplace.visualstudio.com/items?itemName=boltex.leointeg

Cheers and thanks to all who have contributed! Even simple comments and suggestions did help greatly!

Félix

@boltex boltex closed this as completed Sep 25, 2021
@edreamleo edreamleo added this to the 6.4 milestone Sep 25, 2021
@edreamleo
Copy link
Member

@boltex Congratulations on this great work. I see that leoInteg 1.0.1 updated automatically. So easy!!

I'll be spending 5 or 10 minutes each day playing with vs-code/leoInteg. I'll report any problems on leoInteg's issues page.

@edreamleo edreamleo removed the VS Code label Sep 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants