dmadisetti / airlatex.vim Goto Github PK
View Code? Open in Web Editor NEWThis project forked from da-h/airlatex.vim
Overleaf / ShareLatex in Vim
License: MIT License
This project forked from da-h/airlatex.vim
Overleaf / ShareLatex in Vim
License: MIT License
Package so that you can just call airlatex
, opposed to having to launch
Need sqlite3 + pip deps
Sometimes I respond to a comment, but don't resolve (for discussion). It'd be nice to have an "ignore" option
GET https://www.overleaf.com/project/<project>/github-sync/status
reponse: {"enabled":true,"merge_status":"success","repo":"dmadisetti/<repo>","unmerged_branch":null}
GET https://www.overleaf.com/project/<project>/github-sync/commits/unmerged
response: {"diverged":false,"commits":[]}
Not sure if needed?
PUT https://www.overleaf.com/editingSession/<project>
Could skip to just this:
POST https://www.overleaf.com/project/<project>/github-sync/merge
payload: {message: "A commit!"}
We show the cursors, but it would be nice to know WHO is on the page. I think we can do this with echo, no need for more buffers
overleaf provides some docker containers. With 5547262 I was able to test that airlatex works with these containers.
TrackChanges works, but comments do not since they require a totally difference service. No clear way of turning this one, but could still do tests for:
interaction:
Mutation
I think the heart beat is too slow for actual collaborative working. We need to figure out a reasonable rate, otherwise it crashes. Need to have someone (@adyotag?) edit a doc at the same time to help find a better rate.
Kinda boring right now, but whatever
Thought process:
user time
the comment and such and such
-----------------------------------
other user time
another reply and such and such
----------------------------------
(intentionally blank space)
Entering insert mode in a section posted by you, allows you to edit
Entering insert mode in the blank section is crafting a response. submission on save
dd resolves the comment
removing all content of a comment deletes the comment
visual mode for comment creation
Get fenwick tree working to match the naive accumulator API:
https://github.com/dmadisetti/AirLatex.vim/blob/master/rplugin/python3/airlatex/lib/range.py
Not sure how much of a difference this optimization will have, but in theory, is the better data structure.
Leave doc and rejoin to refresh all comments and buffer in case things get too far out of wack.
Using interval tree. Currently not updating interval, so highlights will get out of sync with buffer if too much editing occurs.
"It's a little like hacking yourself, and a nice reminder that any program you are run on your machine can do this and more. Here's the relevant code if you are interested."
that and I want to spam an issue for attention lol
Currently not implemented.
But if others rely on track changes, then this is important enough.
Fix intervals first, but this would be nice
I mean. May as well use this properly. You can do editor/ PDF split mode, but they use browser channels to communicate. AirLatex -> socket -> FireFox Plugin -> PDF mode
will allow this functionality from vim. Have partial prototype
Memory leak maybe? Pretty much only blocker from being usable to me.
Should be pretty easy. Scan interval tree and move cursor
Undo is not great currently
Naive accumulator gets out out sync with the buffer for last line changes sometimes. I think most the edge cases are solved, but this particular edge case of another user making changes that influences the end, and then trying to change the end yourself, is still broken
To edgecase for me to even care anymore really
A refresh fixes this, so no big deal- but something is def up and comments are drifting during edits.
resolve and reopen need to refresh
new comments on the thread need to refresh
new comment should show correctly
Also issue if you directly comment on something without opening the comment buffer first, it might be full of junk.
I think this is actually a race condition
Just send to the server track changes. No point displaying them
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.