Hello Ben,

17.08.2021 22:22:09 Ben Hancock <b...@benghancock.com>:
I've just recently started using the acme editor and am really enjoying it, and trying to get the hang of the "acme way" of doing things. One bit of functionality that I'm familiar with from other editors is the ability to easily look up a function or symbol definition within a codebase. In Emacs and vi, this is done by generating tags files (etags or ctags), which those editors can parse and allow you to easily jump to a definition of the symbol under the point/cursor.

The original developers of Plan 9 software were people who made simple things even simpler so they can understand them. Imagine your codebase is so small that you can know many symbols and have other symbols open or at least know where to look. Using g(rep) in the parent directory of your project and your brain should be enough. If it isn't your project might be too complex/large.

(That's different when reading other code or revisiting code after a long time, but then you are supposed to read it again so you can understand it anyway.)

What's the preferred method or workflow for achieving this in acme? I have tried passing a selected symbol to 'g -n' in the window's tag, using the Mouse-2 + Mouse-1 chord. That gets me part of the way there but isn't effective if the file where the symbol is defined happens to be in another directory. I feel like I'm missing something.

I doubt you are missing something. People used to use text editor since there were no IDEs, and keep in mind that the core of unix was written with ed, maybe even on teletypes. It's like writing code on paper, and it works.

My advise is, read and produce good clean code. If you need syntax highlighting and fancy IDE stuff your codebase is probably too large. With more training you can work with larger codebases, but still they to keep it simple and small. If you really need to work with extremely complex codebases you likely won't find success using plan9 at all.

Many plan9 tools are one C file only. In acme you can jump between selected text by right clicking it, which works very well in these cases. Right clicking included files opens them and you can search there. These are basically the tools you have.

I'm personally very happy reading man pages and searching the plan 9 source with g(rep) and plumbing the results.

I hope this helps.

Oh, and you can always write your own tools and call them using middle-click in acme. You could write an rc-script that cd..s to your project home directory (if it's a git repo, the one containing .git) and invokes g, for example.

sirjofri

------------------------------------------
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/Tf8ceac12df9da674-M01a99fa6f5ef08418c3e312f
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

Reply via email to