12 ms·
Show HN: EDI – An editor in Go
- forca 12y agoLooks really nice and simple in an elegant way; I'll be interested in trying this.
- bellerocky 12y agoIt looks like a terminal inside Firefox. I didn't see any file tree view, or even an actual editor.
- adrusi 12y agoThe editor is on the right and you can get a tree view by running the `tree` command.
- satyajitranjeev 12y agoI've added binaries for Linux-64 and Mac in the blog article. This will help you try it if you do not have Go installed. :)
- doragcoder 12y agoInteresting concept. Are you planning on adding a system where you can write plug-ins in Javascript or Python for example? I saw in the blog post you were looking to adding a way to extend the editor.
- satyajitranjeev 12y agoYes in a future release I do plan to do so.
- ivanca 12y agoI would recommend against using multiple languages for the plugin interface. It just becomes a mess, the Sublime Text way of using Python and Python only for all the plugin system makes it extremely clean and extremely powerful. In your case maybe making all the plugins Go would be the way to go, It helps a lot with performance (not having to create an environment for each programming language) and the power (all the cool stuff you can do in Go).
- georgemcbay 12y agoThe problem with having plugins be in Go is that dynamic linking of shared libraries (written in Go) is not very well supported right now with gc (standard Go tools, not gccgo). There are plans to address this post Go 1.4. There are, of course, hacky ways to do plugins without shared library support (gobs via rpc to other processes or whatever), but if it were me I wouldn't spend a lot of time right now working on a Go plugin system for a Go app.
- andrewchambers 12y agoGoogle protocol buffers over stdin/stdout of subprocesses maybe.
- andrewchambers 12y agoThere is a javascript engine written in Go called otto so you could use that for plugins. That way people can write plugins with many languages if they wish. i.e. clojurescript, typescript ,dart, etc etc
- lloeki 12y agoI'd rather have it use Lua: low profile, good language, trivial embedding[0], excellent performance. [0]: https://gist.github.com/lloeki/792ef5e4c98831baa0ed https://gist.github.com/lloeki/792ef5e4c98831baa0ed
- robterrell 12y agoOld dudes like me might have a strong negative reaction to something called "EDI."
- peaton 12y agoFor the young dudes like me could you explain why?
- jzawodn 12y agoThis: http://en.wikipedia.org/wiki/Electronic_data_interchange http://en.wikipedia.org/wiki/Electronic_data_interchange
- ChikkaChiChi 12y agohttp://en.wikipedia.org/wiki/Electronic_data_interchange http://en.wikipedia.org/wiki/Electronic_data_interchange For the record the term is still thrown around left and right in enterprise settings.
- daigoba66 12y agoUS Healthcare Insurance industry relies heavily on this for... everything.
- kyllo 12y agoYep. And to a somewhat lesser extent, so does international commerce and logistics. Nearly all major importers of goods (think Wal-Mart for example) and their various suppliers and service providers rely on EDI to exchange commercial documents (purchase orders, commercial invoices, packing lists), file customs entries, track their incoming shipments and inventory, etc etc. EDI is probably irrelevant and dead in Silicon Valley (unless maybe you work at Oracle). But in healthcare and commerce it's very much alive.
- ChikkaChiChi 12y ago
- hamburglar 12y agoLooks like a nice start. I'll be watching with interest. The collapsible command context is a neat idea for a shell that's attached to an editor -- I could see just having a pane that's always running the app being developed. I'm curious how you handle the right-clicking on filenames in the shell pane -- for example, does it only work if the clicked text contains the complete relative path from the current working directory? If not, how do you determine the full path to the clicked file?
- satyajitranjeev 12y agoEvery command executed has a stored in current working directory. So when you right click the relative path to the cwd of the command is used.
- andmarios 12y agoHonest question, since you posted this yourself on HN, what is the purpose of adding a “post to HN” button at the end of the post? Do further submissions after the original count as upvotes?
- deleted 12y ago[deleted]
- laumars 12y ago> Do further submissions after the original count as upvotes? Indeed they do. However the "post to HN" button is part of his CMS design so appears at the bottom of every article entry on that site - including articles he may not have posted to HN himself.
- andmarios 12y agoThanks. I have never submitted an URL, so I don't know how it works. This explains why there are many blogs that have a submit to HN button.
- roryokane 12y agoI don’t see much about this idea that requires a new editor. This seems to be mainly a new terminal app, not a new editor. The only points of integration between the terminal and the editor are the E/W/L commands to manage open files and the right-click context rules. With so little connection between the editor and the terminal, I think this project would be better off changing focus to be only a new terminal app. There is no need to reinvent the wheel by bundling an editor with it. You haven’t listed any planned features for the editor that other editors don’t already do, so by cancelling the editor portion of the project, you wouldn’t lose any features. Your terminal could still support customizable E/W/L commands and right-click context rules – but there is no need to tie those features to any one particular editor. Instead, provide a custom configuration of the terminal that sends commands to your favorite existing editor through built-in means. Or if that integration wouldn’t be powerful enough, provide a plugin for the editor that integrates it with your new terminal. That way, users of many different editors could use your terminal.
- satyajitranjeev 12y agoMany a time I see myself having two windows open. My editor and shell. I keep jumping from these windows either copying content or executing commands. The whole idea of the project is to bring them together. It is to act as a bridge between the commands that the OS provides and the editor.
- ayrx 12y ago> The whole idea of the project is to bring them together. What does this do that a normal shell and vim doesn't? If I use that together with something like tmux I can jump between the two seamlessly entirely with keyboard commands.
- satyajitranjeev 12y agoRight now it does not do anything a vim and a normal shell can't do. But the idea of plumbing is something that would be quite difficult(not impossible) to achieve in vim and a terminal.
- taubo 12y agoGreat start. Although almost the same and more can be done using tmux - running editor in one split and executing commands in others. Are there any keyboard shortcuts for navigation between commands/collapsed commands/file or it needs to be done with the mouse?
- satyajitranjeev 12y agoCtrl+l toggles focus from command pane to editor pane. There is no shortcut as of now to collapse the command pane.
- swah 12y agoCurrently this runs on the browser, and in the future it seems he will ship the same architecture as Atom. My question is: can a browser based editor ever handle big files as well as Sublime and Vim?
- jwhitlark 12y agoIt's really an editor in Go and Javascript. I think it might be an interesting platform for exploring some ideas and wish him luck, but the title implies that it's only written in Go.
- satyajitranjeev 12y agoTrue. Now I just can't seem to edit the title.
- abhididdigi 12y agoExcellent editor this. But I'm not quite sure why you would create this. From your profile I understand you are good with Python and you are good with Javascript, in your blog post : http://satyajit.ranjeev.in/2014/05/15/WTF-Github.html http://satyajit.ranjeev.in/2014/05/15/WTF-Github.html, you argue that Github took a very wrong step towards creating Atom, and you quoted > Havoc Pennington wrote: Don’t start by launching your own project. Lots of people want to write free software, so the first thing they do is scribble some code, slap on the GPL, and release version 0.0.1 alpha. While fun and possibly educational, this is totally unproductive. I mean if you really believe in contribution why did you create a new Editor in GO? Please note, I am no way against you creating this text editor, I'm just trying to understand what your intention is. And finally in the essay you quote that Javascript is a terrible language that happened to us and yet here we are a Text Editor written in Go and Javascript.
- satyajitranjeev 12y agoTrue my own words haunt me. I complained about atom as it was an editor that was a plain rip off sublime text. Just that it is done in JavaScript. I complained how they could not create something similar to Acme which was a brilliant innovation. I did try to customize Acme to what suited me. But clearly Acme's philosophy is quite different. Rob Pike says a big no to line numbers and highlighting. On why I chose JavaScript: that is the only language you can use on the web browser. I tried several cross platform GUI toolkits that Go supported. They were half complete or abandoned. The web is the only sane cross platform development environment.
- eikenberry 12y agoRob didn't say 'no' to highlighting. His infamous quote saying it was juvenile was meant as a joke.
- unfamiliar 12y agoI wonder if adding that command deletion ability to iTerm2 is possible? Does anyone know how the text buffer works exactly?
- sreejithhere 12y agoThe biggest plus that I see is that this allows to do do remote editing on a server which may otherwise be restricted from access due to security concerns. If the backend can be developed to have a lot more admin features which can be used to restrict the features which can be used, then the admin can simply leave one port open through which the front end can communciate
- rakoo 12y agoYou say that ACME is excellent yet has its problems, and I believe EDI is an answer to that. What are these specific problems you try to solve ? Also, the plumbing of ACME is truly excellent, I hope you can reproduce its power.