vyapp / vy Goto Github PK
View Code? Open in Web Editor NEWA vim-like in python made from scratch.
License: MIT License
A vim-like in python made from scratch.
License: MIT License
Find us in blackhats on Element (formerly known as Riot) / Matrix.
I tested it on a Ubuntu 17.10 VM on Virtual Box.
The change in screen resolution will not affect the current instance of vy window but any new instance thereafter.
Current Solution: The problem is corrected when the windows system is restarted or when you relogin on to the system.
Error Msg:
bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell
A window pops up with a red blinking bar and the label vy none
. It doesn't react to vim like input.
Installed like this:
pip install untwisted
pip install pygments
pip install jedi
pip install vy
> python --version
Python 2.7.10
> uname -a
Darwin Elmars-MBP 15.0.0 Darwin Kernel Version 15.0.0: Wed Aug 26 16:57:32 PDT 2015; root:xnu-3247.1.106~1/RELEASE_X86_64 x86_64
I encountered this error when trying to run vy for the first time (after fixing idiotic dependency errors):
_tkinter.TclError: bad event type or keysym "apostrophe"
The root of the problem (as stated in this Hacker News post's top comment, the first result in a google search) is that apparently OSX's Tkinter doesn't have a key bind for apostrophe. Replacing it with something unused like plus as in this commit fixes that issue. Worthwhile looking into or finding a cross-platform solution?
It would be interesting to have integration with tidy(for checking broken html).
Once a keycommand is issued, the html in the areavi is parsed and the lines
with the errors are higlighed. When the cursor is placed over that line
a message about the error is outputed in the statusbar.
After creating an AreaVi instance and setting it as output target and destroying that areavi, it is throwing exception when it occurs setting as output target a new AreaVi instance. It seems i forgot to unregister the areavi instances which were set as target once them get destroyed.
it seems it is much better to have the scheme of output target being handled off vy core(like it was initially defined) since other schemes of output may arise and them can be used instead of the standard one.
$ vy -v
^CTraceback (most recent call last):
File "/usr/local/bin/vy", line 7, in
root.mainloop()
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk/Tkinter.py", line 1125, in mainloop
self.tk.mainloop(n)
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk/Tkinter.py", line 1531, in call
def call(self, *args):
KeyboardInterrupt
Hi, it would be really amazing to support language servers as it would instantly bring rich support for almost all common languages.
A curious style =.=
not planned?
When doing some work for a web project and playing with html, i thought it may be interesting to have a keycommand that automatically removes spaces from the beginning of the selected lines. It may be interesting to be implemented as a command plugin
that offers a function/command like: strip or stp for simplicity.
fsniff has difficulties recognizing directory names with periods "." in them when pattern matching.
When fsniff matches a long file path, it resizes the window width. This does not size back to the original width when out of focus.
Someone nicknamed Tau on freenode just sent me this: 20:40 Hey, Check out this powerful vim-like editor in python with clean code https://github.com/iogf/vy It even has an ircmode and a terminal-like plugins https://www.youtube.com/watch?v=OrXNRyZHwGc
If that was you, please stop doing it like this. This annoys people a lot.
It may be better to implement custom keymaps for plugins
to use virtual events like:
class ExampleEvent(object):
def __init__(self, area):
self.area = area
area.install(('BETA', '<<ExampleEvent.OutputData>>', self.output_data))
area.event_add('<<ExampleEvent.OutputData>>', '<Key-h>')
def output_data(self, e):
self.area.insert('end', 'This is nice')
install = ExampleEvent
or it could be.
"""
Overview
========
Just a test to demonstrate virtual events.
Keycommands
===========
Mode: BETA
Event: <<ExampleEvent.OutputData>>, <Key-h>
Description: insert the text 'This is nice' on the focused
areavi.
"""
class ExampleEvent(object):
def __init__(self, area):
self.area = area
area.install(('BETA', ('<<ExampleEvent.OutputData>>', '<Key-h>', ...), self.output_data))
# area.event_add('<<ExampleEvent.OutputData>>', '<Key-h>')
def output_data(self, e):
self.area.insert('end', 'This is nice')
install = ExampleEvent
I was checking this package for inclusion in the Free Software Directory and while the documentation is very robust it wasn't clear what license BOOK.md is distributed under. Thank you for clarifying the situation on the document, and let me know when you get to it so I can approve the entry in the directory.
When it is changed nick, whocall plugin stops notifying you when someone mentions your nick. it is needed to update the nick string in the IrcMode class whenever a change nick event happens.
C:\Python27\Scripts>C:\Python27\python.exe vy.py
Traceback (most recent call last):
File "vy.py", line 16, in
root = App()
File "C:\Python27\lib\site-packages\vyapp\app.py", line 41, in init
execfile(rc, ENV)
File "C:\Users\bogdan.vy\vyrc", line 141, in
import vyapp.plugins.pdb.debug
File "C:\Python27\lib\site-packages\vyapp\plugins\pdb\debug.py", line 15, in
from untwisted.network import core, cmap, READ, Device
File "C:\Python27\lib\site-packages\untwisted\network.py", line 29, in
from os import O_NONBLOCK
ImportError: cannot import name O_NONBLOCK
Greetings! This is the second time I issue an issue at Github, so I apologize in advance if I do something wrong.
I'm relatively new to Python, so I couldn't figure out if it is a missing library problem on my environment side.
My environment:
Arch Linux with python3.6 and python2.7 with some modules, (among them jedi
and pigments
, all installed with pacman
package manager)
I tried both with my global environment and with Python's virtualenv and both produced the same error message. To simplify things, I'll put virtualenv's terminal output below to avoid misunderstandings:
$ git clone https://github.com/iogf/vy
Cloning into 'vy'...
remote: Counting objects: 3499, done.
remote: Compressing objects: 100% (82/82), done.
remote: Total 3499 (delta 15), reused 0 (delta 0), pack-reused 3417
Receiving objects: 100% (3499/3499), 6.30 MiB | 2.66 MiB/s, done.
Resolving deltas: 100% (2476/2476), done.
$ mv vy vy-ee
$ python -m venv vy
$ mv vy-ee/* vy/
$ mv vy-ee/.git vy/
$ rm -r vy-ee
$ cd vy
$ source bin/activate
$ pip install -r requirements.txt
Collecting jedi (from -r requirements.txt (line 1))
Downloading jedi-0.10.1-py2.py3-none-any.whl (179kB)
100% |████████████████████████████████| 184kB 723kB/s
Collecting pygments (from -r requirements.txt (line 2))
Downloading Pygments-2.2.0-py2.py3-none-any.whl (841kB)
100% |████████████████████████████████| 849kB 910kB/s
Collecting untwisted (from -r requirements.txt (line 3))
Using cached untwisted-1.0.1.tar.gz
Installing collected packages: jedi, pygments, untwisted
Running setup.py install for untwisted ... done
Successfully installed jedi-0.10.1 pygments-2.2.0 untwisted-1.0.1
$ pip list --format=columns
Package Version
---------- -------
jedi 0.10.1
pip 9.0.1
Pygments 2.2.0
setuptools 28.8.0
untwisted 1.0.1
$ ./vy
Traceback (most recent call last):
File "./vy", line 3, in <module>
import vyapp.app
File "/home/archie/github/vy/vyapp/app.py", line 6, in <module>
from base import App, Debug
ModuleNotFoundError: No module named 'base'
$
Thanks since now.
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.