Update readme, create LICENSE
This commit is contained in:
parent
c85ac1baf6
commit
ba4f105d8c
3 changed files with 92 additions and 9 deletions
21
LICENSE
Normal file
21
LICENSE
Normal file
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2020 karlicoss
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
57
README.org
Normal file
57
README.org
Normal file
|
@ -0,0 +1,57 @@
|
|||
#+begin_src python :exports results :results output drawer
|
||||
import open_in_editor
|
||||
print(open_in_editor.__doc__)
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
:results:
|
||||
|
||||
This scripts allows opening your text editor from a link on a webpage/within a browser extension via MIME.
|
||||
See a short [[https://karlicoss.github.io/promnesia-demos/jump_to_editor.webm][demo]].
|
||||
|
||||
It handles URIs like:
|
||||
|
||||
: editor:///path/to/file:123
|
||||
: editor:///path/to/file?line=456
|
||||
|
||||
See =test_parse_uri= for more examples.
|
||||
|
||||
To install (register the MIME handler), run
|
||||
|
||||
: python3 open_in_editor.py --install --editor emacs
|
||||
|
||||
See =--help= for the list of available editors. If you want to add other editors, the code should be easy to follow.
|
||||
|
||||
You can check that it works with
|
||||
|
||||
: xdg-open 'editor:///path/to/some/file'
|
||||
|
||||
I haven't found any existing/mature scripts for this, *please let me know if you know of any*! I'd be quite happy to support one less script :)
|
||||
|
||||
The script was tested on *Linux only*! I'd be happy if someone contributes adjustments for OSX.
|
||||
|
||||
:end:
|
||||
|
||||
* Usage
|
||||
|
||||
#+begin_src bash :exports results :results output verbatim
|
||||
./open_in_editor.py --help
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
#+begin_example
|
||||
usage: open_in_editor.py [-h] [--editor {emacs,vim,gvim,default}] [--install]
|
||||
[--run-tests]
|
||||
[uri]
|
||||
|
||||
positional arguments:
|
||||
uri URI to open + optional line number
|
||||
|
||||
optional arguments:
|
||||
-h, --help show this help message and exit
|
||||
--editor {emacs,vim,gvim,default}
|
||||
Editor to use. 'default' means using your default GUI
|
||||
editor (discovered with open/xdg-open)
|
||||
--install Pass to install (i.g. register MIME in your system)
|
||||
--run-tests Pass to run unit tests
|
||||
#+end_example
|
|
@ -1,23 +1,28 @@
|
|||
#!/usr/bin/env python3
|
||||
'''
|
||||
This scripts allows triggering opening emacs from a link on a webpage/browser extension via MIME.
|
||||
Handles links like:
|
||||
This scripts allows opening your text editor from a link on a webpage/within a browser extension via MIME.
|
||||
See a short [[https://karlicoss.github.io/promnesia-demos/jump_to_editor.webm][demo]].
|
||||
|
||||
editor:///path/tofile:123
|
||||
It handles URIs like:
|
||||
|
||||
See test_parse_uri for more examples.
|
||||
: editor:///path/to/file:123
|
||||
: editor:///path/to/file?line=456
|
||||
|
||||
See =test_parse_uri= for more examples.
|
||||
|
||||
To install (register the MIME handler), run
|
||||
|
||||
python3 open-in-editor --editor emacs --install
|
||||
: python3 open_in_editor.py --install --editor emacs
|
||||
|
||||
See --help for the list of available editors. If you want to add other editors, the code should be easy to follow.
|
||||
See =--help= for the list of available editors. If you want to add other editors, the code should be easy to follow.
|
||||
|
||||
You can check that it works with
|
||||
|
||||
xdg-open 'editor:///path/to/some/file'
|
||||
: xdg-open 'editor:///path/to/some/file'
|
||||
|
||||
I haven't found any existing/mature scripts for this, please let me know if you know of any! I'd be happy to support one less script.
|
||||
I haven't found any existing/mature scripts for this, *please let me know if you know of any*! I'd be quite happy to support one less script :)
|
||||
|
||||
The script was tested on *Linux only*! I'd be happy if someone contributes adjustments for OSX.
|
||||
'''
|
||||
# TODO make it editor-agnostic? although supporting line numbers will be trickier
|
||||
|
||||
|
@ -111,7 +116,7 @@ Terminal=false
|
|||
MimeType=x-scheme-handler/{PROTOCOL_NAME};
|
||||
""".strip()
|
||||
with tempfile.TemporaryDirectory() as td:
|
||||
pp = Path(td) / 'open-in-editor.desktop'
|
||||
pp = Path(td) / 'open_in_editor.desktop'
|
||||
pp.write_text(CONTENT)
|
||||
check_call(['desktop-file-validate', str(pp)])
|
||||
dfile = Path('~/.local/share/applications').expanduser()
|
Loading…
Add table
Reference in a new issue