matkuki / exco Goto Github PK
View Code? Open in Web Editor NEWExtensible GUI text editor written in Python
Home Page: http://matkuki.github.io/ExCo/
License: GNU General Public License v3.0
Extensible GUI text editor written in Python
Home Page: http://matkuki.github.io/ExCo/
License: GNU General Public License v3.0
There is no option to clear Recent Files.
Maybe not all, if it's too complicated.
Make it so.
Dear Developer,
I created a class QsciLexerSAS which inherit QsciLexerCustom to highlight the word in the editor through learn about your Excillent code, and my editor works very well.
#My question is about how to fold the code by myself, and I did't find any reference resources. If you have any suggestions, could you mind tell me? Thank you very much.
when defining a proc or a method, the proc/method name is highlighted correctly, but this doesnt happen with functions
I want to test this app.
It shows:
TypeError: arguments did not match any overloaded call:
QPoint(): too many arguments
QPoint(int, int): argument 1 has unexpected type 'float'
QPoint(QPoint): argument 1 has unexpected type 'float'
I'm building an application that has a file editor component which I'd like to have decent notepad like functionality (with highlighting and expected features like find and replace). I think I can do it with QsciScintilla and my own lighter QsciScintilla-based widget, but I wonder if I could save effort by starting with Ex.Co?
Is Ex.Co suitable for embedding in a larger application? Is there too much global state and application code that might conflict with my own application? Does your license allow me to canabalize chunks of your code if I liked your find/replace widgets for example?
Thank you for building such a great tool!
Thanks!
Hi,
I just came across your very cool project. A couple of questions:
Kind regards
Novak
PyQt5 should have priority maybe?
The context menu when a tab is right-clicked should have this option and maybe other similar options.
Add them.
Their names are ExCo_Windows_x64.zip and ExCo_Windows_x86.zip.
Your product looks very nice and I would like to try it.
Currently it's nested only for classes and it's members, make it also for functions.
Add custom theme file generation, so users can add their themes without breaking their setting every time they update to a new version of ExCo.
When opening the graphical session editor on Linux systems, the corner buttons are the wrong size.
Clicking on the session editor resizes them correctly.
Hi matkuki,
I found an issue in Qscintilla, as title descriped. But it don't crash in Notepad++ and this could be cause by editor.selectionChanged signal and editor.selectedText().
The detailed steps are below:
1: Press and hold the key ALT until crash.
2: Press and hold the left mouse button.
3: Move mouse left or right in a line to select text until the length of selected text is greater than 6, the gui will crash.
I tried to print editor.selectedText() when did this operation, the result had a "\n" at the end of it.
Thanks.
Terminal output at crash:
free(): invalid pointer
Aborted (core dumped)
Process 4618 (python) of user 1000 dumped core.
Stack trace of thread 4618:
#0 0x00007efe52c75e97 __GI_raise (libc.so.6)
#1 0x00007efe52c77801 __GI_abort (libc.so.6)
#2 0x00007efe52cc0897 __libc_message (libc.so.6)
#3 0x00007efe52cc790a malloc_printerr (libc.so.6)
#4 0x00007efe52ccef60 _int_free (libc.so.6)
#5 0x00007efe5091eb4c n/a (/home/<user>/test_venv/lib/python3.6/site-packages/PyQt5/Qt/lib/libQt5Widgets.so.5)
#6 0x00000000028fe450 n/a (n/a)
#7 0x00007efe502a5148 n/a (/home/<user>/test_venv/lib/python3.6/site-packages/PyQt5/Qt/lib/libQt5Gui.so.5)
Using: Ex.Co 6.13
(other local version's info below)
Some Issue background:
Issue initially encountered with eric6 (also reporting it here on the off change it might potentially expedite a potential fix)
Process 3684 (eric6) of user 1000 dumped core.
Stack trace of thread 3684:
#0 0x00007f5764b46e97 __GI_raise (libc.so.6)
#1 0x00007f5764b48801 __GI_abort (libc.so.6)
#2 0x00007f5764b91897 __libc_message (libc.so.6)
#3 0x00007f5764b9890a malloc_printerr (libc.so.6)
#4 0x00007f5764b98b0c malloc_consolidate (libc.so.6)
#5 0x00007f5764b9c7d8 _int_malloc (libc.so.6)
#6 0x00007f5764b9f2ed __GI___libc_malloc (libc.so.6)
#7 0x00007f57626dc298 _Znwm (libstdc++.so.6)
#8 0x00007f57565b9b8a n/a (/home/<user>/test_venv/lib/python3.6/site-packages/PyQt5/Qt/lib/libQt5Gui.so.5)
Additional version Numbers (pulled from eric6 version info window)
Python: 3.6.9, 64-Bit
Qt: 5.14.2
PyQt: 5.14.2
PyQtWebEngine: 5.14.0
QScintilla: 2.11.4 <= seems to be the main source for this issue.
sip: 5.1.2
WebEngine: 77.0.3865.129
eric6: 20.4 (rev. daa7d050b3af)
(Linux Mint 19.3 cinnamon)
... Mmm. Think I might have found myself a new potential alternative code editor ...
No Autocompletion
Now it sets the stylesheet multiple times, which causes significant overhead.
Also, some parts can be done cleaner.
PyQt5 5.15.6
macOS Monterey 12.0.1
Python 3.10
TypeError: arguments did not match any overloaded call:
QPoint(): too many arguments
QPoint(int, int): argument 1 has unexpected type 'float'
QPoint(QPoint): argument 1 has an unexpected type 'float'
Everything looks great but to QPoint, you must pass on int values.
Anyway, I edited your code (only for myself) and made it an integer. I am also making an IDE on QScintilla. It has 10 supported lexers, autocompletion (For Python), running all programs. I am making a new app collection.
It has 6 apps (including the IDE I created). Browser, Camera, Audio Converter, Online Public Chat Group, IDE, and Word-like Text Editor.
I might add your app to my collection if you add features to show docs, call tips and run many languages.
All the very best.
Cannot run from a read-only location. Please make it save its settings in $XDG_CONFIG_HOME
.
% python3 /var/run/user/1001/_home_user_Desktop_ExCo-6.15.zip/ExCo-6.15/main.py
No module named 'cython_lexers'
No module named 'nim_lexers'
Traceback (most recent call last):
File "/var/run/user/1001/_home_user_Desktop_ExCo-6.15.zip/ExCo-6.15/main.py", line 154, in <module>
main()
File "/var/run/user/1001/_home_user_Desktop_ExCo-6.15.zip/ExCo-6.15/main.py", line 145, in main
file_arguments=file_arguments
File "/var/run/user/1001/_home_user_Desktop_ExCo-6.15.zip/ExCo-6.15/gui/mainwindow.py", line 129, in __init__
self.settings = self.Settings(self)
File "/var/run/user/1001/_home_user_Desktop_ExCo-6.15.zip/ExCo-6.15/gui/mainwindow.py", line 2657, in __init__
data.resources_directory
File "/var/run/user/1001/_home_user_Desktop_ExCo-6.15.zip/ExCo-6.15/settings.py", line 332, in __init__
self.create_settings_file(self.empty_settings_list)
File "/var/run/user/1001/_home_user_Desktop_ExCo-6.15.zip/ExCo-6.15/settings.py", line 343, in create_settings_file
file = open(self.settings_filename_with_path, "w", encoding="utf-8")
OSError: [Errno 30] Read-only file system: '/var/run/user/1001/_home_user_Desktop_ExCo-6.15.zip/ExCo-6.15/exco.ini'
https://matkuki.github.io/ExCo/features.html
in the part of "Direct terminal access", when user click the small picture, https://matkuki.github.io/ExCo/images/function-wheel.png
is opened
A Hex view is needed for reading binary files in the vein of PSPad or sexton (https://github.com/PetterS/sexton)
When there is an error in parsing python code for tree displaying,
the error message needs to be displayed!
Hello, thank you very much for a good program under a free open source license! Added a program to a Russian-language site about free software, here is the link.
The project is interesting, so please don't abandon it!
The only question is how to run a python script directly from the editor?
Fix this error when opening a C/C++ file:
Traceback (most recent call last):
File "C:\SK_Na_POT_vd\ExCo\forms.py", line 5468, in dropEvent
self.parent.open_file(self.drag_dropped_file, self)
File "C:\SK_Na_POT_vd\ExCo\forms.py", line 2254, in open_file
open_file_function(file, basic_widget)
File "C:\SK_Na_POT_vd\ExCo\forms.py", line 2211, in open_file_function
new_tab = basic_widget.editor_add_document(in_file, "file", bypass_check=False)
File "C:\SK_Na_POT_vd\ExCo\forms.py", line 5848, in editor_add_document
new_editor_tab.choose_lexer(file_type)
File "C:\SK_Na_POT_vd\ExCo\forms.py", line 8034, in choose_lexer
lexer = lexers.CPP()
File "<string>", line 63, in __init__
File "<string>", line 73, in set_theme
AttributeError: type object 'CPP' has no attribute 'InactiveEscapeSequence'
When there are no import statements in a Python file, creating a node tree shows IMPORTS:
.
It should show No imports found
.
Just tried running under Anaconda Python 3.5.1 on OS 10.11 El Capitan. Running main.py gives:
Traceback (most recent call last):
File "main.py", line 71, in
import forms
File "/Users/zen/Code/git/ExCo/forms.py", line 91, in
import PyQt4.Qsci
ImportError: No module named 'PyQt4.Qsci'
I tried pip installing qscintilla, which installed PyQt 5, but I still receive the same error.
Thanks for this awesome editor, but I am missing these things
Hello,Happy to learn from the code examples you provided, but I now have a functional problem with automatic case completion ignoring. By running the program You provided EX.CO. 6.13, I enable the function of autocompletion, but when I actually typed in the text, I found that when I typed in INT and then lowercase i, the prompt for iNT would appear, that means I in INT is replaced by i.This is not the automatic completion case ignore I want, how do I achieve this function, look forward to your tips and advice. Thank you very much.
Save setting arguments are wrong in line 2452.
Fix it.
Hi,
Thanks for your wonderful work, and I made a similar file/directory tree explorer with yours.
Could you mind adding a new function that we can drag file or folder from directory tree to desktop or other local folder?
I search the solution many days to solve this issue, but don't have any useful information about dragMoveEvent, dragEnterEvent or dragLeaveEvent.
Thank you.
The list of functions and classes is not sorted, but methods in a class are.
Fix this.
Also function nodes aren't showing all nested items.
Fix it.
Reinstalling the application might fix this problem.
Available platform plugins are: minimal, offscreen, windows.
This is what the error message said. I'm on Windows 7. Does it require Windows 10+?
Add more nodes and more information to existing nodes in the Python node tree display, like:
I saw that you have themes for your editor. I'm the author of an editor which uses QScintilla too. I want to implement theme support. So I want to ask you were to you got this them? Have created them by yourself or have you ported them from another editor? Themes need a lot of work, because you have to set colours for each lexer.
please and thank you
Add Python 2 support for both execution and node tree displaying.
I have the code, just need to integrate it to the repository.
The traceback:
Traceback (most recent call last):
File "D:\ExCo\helper_forms.py", line 1749, in parent_destroyed
self.parent.close_tab(self)
AttributeError: 'NoneType' object has no attribute 'close_tab'
Hi matkuki,
I have a question about how to get the cursor position in the screen? The statement self.cursor() returns the mouse position, and also self.getCursorPosition() only return the line and col number. But in the QPlainTextEdit, we can get the cursor position in the screen by using self.cursorRect(). I want use this position to create the auto complete panel instead of default completion in the qscintilla.
I have researched in "https://www.scintilla.org/ScintillaDoc.html" and looked it into the google for many days, but still not find the solution.
Do you know any solution about this?
Thank you very much,
Bin
Is it possible to word-wrap lines?
It crashes when diffing sometimes. (ce.File)
Hi,
I am implementing a new markup language (something akin to Markdown, but geared towards novel publishing).
I think it would be extremely useful to add some kind of integrated editor (right now I'm focused on command-line utilities to convert from markup to LaTeX/XHTML).
Features I have in mind, in increasing order of complexity, are below.
Real question is:
In Your opinion, is ExCo the right tool to use?
If so: what will be the effort required?
Thanks in advance.
Features:
@command[param1][param2]{contents, possibly very long and containing @nested[]{commands}}
@speech
for direct speech or @standout
for some kind of visual enhancement) it would be nice to render on-screen with some convention (e.g.: different font or color) hiding labels that are distracting.Any insight welcome
Have to fix this.
Hi I would like to ask for another feature.
I don't know what's it's called but, the feature I wanna ask is something like this:
when I highlight a word in the text editor, I would like all of the same words would be highlighted too.
Thanks.
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.