Hacker News new | past | comments | ask | show | jobs | submit login

> Does KEdit do symbol completion, show you documentation as you type, and perform automated refactoring?

KEdit is not specific to software development but is for nearly all typing. E.g., I also use it for word processing, reading/writing email, notes on everything, Internet content on finance, BBQ, coconut cream pie, Moo Shu Pork, ....

So, for writing software using KEdit, need some more: It has a good macro language, so can write macros to do some work specific to software.

> symbol completion

Interesting question! I do some of that with command line commands in text console windows. E.g., in walking in the file system directory tree, I have a little Rexx script

     dn 'argument'
where 'argument' is a string, maybe the first few characters of the name of a subdirectory of the current directory. If the completion is ambiguous, then the script writes out a list to pick from.

I just checked the KEdit Help: So, in the case of an ambiguous completion, in a macro can use the command POPUP to create and display such a window and in it have a menu the user can pick from with either mouse or keyboard, and then the selection is returned to the macro. So, then, need the macro to know what the legal completions are: Okay, might get those from the current file being edited. Or maybe the list is in the macro or in a file the macro would read, maybe that file particular to the current directory of if there is no such file then, ... be as fancy as want with a hierarchy of files of the legal completions, one for C code, one for cooking, one for .... Depend on file system caching to make the file reading fast. And have the macro use the KEdit locate command which is really fast. The user's string might be from the start of the keyword, anywhere in the keyword spelling, after some spell checking in the macro, as fancy as want!

> show you documentation as you type

My approach to that was to put tree names of documentation files in the comments in my source code. Then I wrote a little KEdit macro that would, assuming simple syntax, grab the tree name and display the file. If the file type was HTM, then the macro would invoke Firefox to display the HTM file. I have 500+ of those. The file might be just simple text, and then the macro would open the file and have it in the ring (collection) of files KEdit was working with when it ran the macro.

> perform automated refactoring

I'll have to guess what that is: Maybe it is changing some name from, e.g.,

     call_sql 
to

     call_sql001 
For things like that, I just use versions of the KEdit command to locate a string. Here the command would be one of

     /call_sql/

     >call_sql>

     l/call_sql/

     all/call_sql/
etc.

Could write a macro, pass as an argument the strings

     call_sql call_sql001
and have a loop for a little dialog that would locate the first argument, thus show the context, permit change or not, and then loop for the next change candidate.

Of course, if the work is really simple, then could just use

     c/call_sql/call_sql001/ * *
for make the change on all the lines and all cases on each line.

In short, KEdit has a lot of good functions and a good macro language.

And for the start of this thread about needing high end processors, I've been using versions of KEdit back to VM/CMS and PC/DOS. So, it's small and fast.

KEdit is a PC version of IBM's XEDIT written in France by some guy on his own time. Once it was on IBM's internal network, it spread to IBM sites around the world quickly. In a word, KEdit is elegant. It is my most heavily used tool.

The KEdit macro language is a version of Rexx, the scripting language developed by an IBM guy Mike Cowlishaw. Early on KEdit macros could be written in Rexx and run on the instance of Rexx that served text window command lines, but eventually some operating system changes blocked that, and the author of KEdit wrote a version of Rexx and included it in KEdit.

Emacs may be a more powerful editor.

Power Shell may be a more powerful way to write scripts.




Refactoring is anything that simplifies the code and prepares it for modification. For example, extracting a function, or a variable; pulling code up to the superclass because it's common or pushing it down to subclasses because it shouldn't be common; etc. Renaming is a part of refactoring but most refactorings involve code motion.

KEdit sounds pretty scriptable, but it seems limited by treating everything as text and not being aware of syntax.

I do most of my work myself in Emacs without much of the "heavyweight" stuff. Nonetheless, for writing Java or exploring a large program, an editor that has already grokked and indexed everything is really useful. As an example, I can point to a name and go to its definition immediately, without running a more generic search. Then I can enumerate its uses and see what the idiomatic use is.

Not trying to convince you to use something else, just giving you an idea why people like these tools.


I do a little with objects but not a lot. Doubt that I ever wanted to refactor some! Yes, some of my code editing, revisions involved code motion, but I don't recall that was a big problem.

> KEdit sounds pretty scriptable, but it seems limited by treating everything as text and not being aware of syntax.

Right. To have KEdit honor syntax, would have to program that in the KEdit macro language. No doubt that is doable, and since the macro language has a lot on string handling quite doable. Doable but for me more work than worthwhile.

KEdit is old but so is Emacs.

> Not trying to convince you to use something else, just giving you an idea why people like these tools.

Thanks, I've been wondering what I'm missing not using Emacs.

For an IDE, once I looked at Microsoft's Visual Studio. Created a project or whatever it was called -- years ago. It created a directory with lots of files. And that was before even "Hello World". I didn't know what all those files were for, didn't want to go to the trouble to find out, and was concerned that if something went wrong I'd have to fix it. I gave up, but here with the start of this thread wondered what value I might be missing from some heavy computing busy trying to make my work easier -- what was it, 12 cores, 64 GB of main memory, gads?

So, for now, stay with KEdit and Rexx.

I could have wasted time evaluating IDEs. Thanks!




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: