that's a long winded way of saying 'use the plumber'

On Tue, Aug 17, 2021, 23:54 sirjofri <sirjofri+ml-9fans@sirjofri.de> wrote:
Hello Ben,

17.08.2021 22:22:09 Ben Hancock <ben@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