Comments (10)
@Morabaraba , documentation is a sad story around this project. There wasn't much to begin with and the little that there was on the c9 site has long since disappeared. Writing extensions is pretty much summed up here: https://github.com/pylonide/pylon/wiki/How-to-write-an-extension
To add contextual menu items to the tree is actually quite straight forward. Check the code for the ext.uploadfiles
as an example reference:
If you want to wiki document around the Theme then you are welcome to do so even in this Repo's wiki if that suits your needs. Let me know and I can grant the needed access. Cheers! 🍻
from pylon.
Definitely, going forward the UI should be modernized and providing a familiar C9v3 skin would totally make sense.
from pylon.
Tagging onto this issue, because I feel it is related.
I'm wondering how to add items to submenu like "Open Terminal Here":
Currently PylonIDE
Currently C9
Did have a quick look at the development wiki. But I think I might be a bit to optimistic on how easy it would be to add menu items?
familiar C9v3 skin
I'm at the moment using the monokai
theme that looks close enough for me to the c9 Classic Dark Gray
theme.
Maybe start a wiki list somewhere of look and feel we want to share?
from pylon.
@Morabaraba its possible but @exsilium is figuring out how the API works here (Extensions included), as the documentation has probably disappeared, and we need to reverse-engineer how the API works right now.
from pylon.
@exsilium I think GitHub has some archive.org snapshots, maybe we can recover the long lost docs from there?
from pylon.
@Exsillium thanks I hacked my own apf.item
that calls tty.elements.newTerminal.click()
.
Now I just need to tell the newTerminal my path... wip.
edit: digged the filepath
out from the searchinfiles
ext code selectedNode.getAttribute("path")
!
from pylon.
Once complete. make sure to file a pull request. Happy to pull that feature. 😄 👍 Cheers!
from pylon.
@exsilium at the moment I'm at the following simple hack:
mnuCtxTree.insertBefore(new apf.item({
id : "mnuCtxOpenTerminalHere",
match : "[folder]",
visible : "{trFiles.selected.getAttribute('type')=='folder'}",
caption : "Open terminal here",
onclick : function(e) {
ext.initExtension(_self);
var selectedNode = e.opener.selected;
var path = selectedNode.getAttribute("path");
if (tty.windows.length == 0) {
tty.elements.newTerminal.click();
}
var newTab = tty.windows[0].createTab();
newTab.send("cd ." + path + "\n");
}
}), itemCtxTreeNewFile),
Nicely tucked away at line 73 in pylon/plugins-client/ext.uploadfiles/uploadfiles.js
as suggested by you.
This example forces you to work out of $HOME/workspace
and also leave cd ...
in the terminal.
So might make the send command rather newTab.send(" cd '." + path + "' && clear \n");
, wip.
suggestions?
from pylon.
I've been away - work took me elsewhere, @Morabaraba - were you able to solve this? Instead of sending the command after terminal window opening, I'd suggest you build the support directly to the terminal plugin to allow sending the workdir when creating a new term window/tab.
from pylon.
Closing this as it has become sort of a stale issue, especially in light of #48. UI modernization is certainly a thing for the future and different plugins can be written to provide extra functionality that is currently missing but there's no specific goal to keep parity with c9v3 look.
from pylon.
Related Issues (20)
- PHP syntax highlighting HOT 2
- Can it run in the same server where c9 IDE is present? HOT 2
- [Feature request] Close tab on wheel click
- Linuxserver.io Container HOT 2
- Allow .settings and .sessions to live outside the workspace folder
- Deprecate legacy node version support (v4, v5, v6, v7, v8, v9) HOT 1
- Deprecate the use of optimist HOT 1
- Remove support for node v10
- Deprecate the use of optimist in favor of a more modern option parsing library
- Remove nodeunit plugin and the devDependency
- Upgrade to Ace v1.13.1
- [development] Restore getDisplayIndentGuides() in codeeditor once upstream ace releases fix HOT 1
- Initial session creation is slow due to connect.session.file
- Deprecate usage of Node.js v14-v17 including all @pylonide dependencies
- Allow file preview directly from file tree
- Implement redirect to connect middleware
- install help HOT 6
- Support Forms Authentication HOT 1
- Installation, apf-packager verification fails HOT 1
- Use PPC, deprecate use of APF HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pylon.