Autocomplete for headers in standard markdown format

Steps to reproduce

Here is what is in @Licat’s comments:

Link suggestion no longer triggers auto-complete when pressing # or | because it’s not always intended. Instead, hit Tab first to auto-complete, then type the character normally.

So, I start with [[ which presents me with a list of notes from which to choose. When I find note 2 in that list I put my cursor on it.

In the “good ol’ days” I could then type # and I would be presented with a list of headers in note 2. Clicking on the header sought, #Klaas in this example, would complete the link to that header in note 2. Now, instead of typing # , I have to hit Tab, if I have understood the new rule. But that does not bring up a list with headers in note 2. Instead, hitting Tab completes the link to note 2 !

Expected result

Start typing [[Note 2, get a suggested list, find Note 2, then hit Tab to chose Note 2, then type #, then Tab again, and get a list of available headers in Note 2.

Actual result

Hitting Tab completes the link to note 2.

Environment

  • Operating system: macOS 10.14
  • Obsidian version: 0.8.13.

Additional information

normal-new tab-first

[[ + start typing + pick what you want autocomplete + tab + # + header text + tab]]`

Use this for the screen recording.
https://github.com/keycastr/keycastr

I can make it function but I find it an uncomfortable process now.

The only difference is that now you have to explicitly press tab to conclude autocomplete.

We did this because entering an alias to a non existing note was very hard and generally because most software behave by explicitely using tab to autocomplete.

How often was this an issue relative to picking an existing heading?

1 Like

I don’t know about most software, but I’ve not had to do it with existing programs. It’s not mouse friendly.

1 Like

It looks like you have enabled Use Markdown Links in editor settings. Ths will use standard markdown links instead of using Obsidian\Roam-style wikilinks.

THe other possibility is not a possibility.

@WhiteNoise:

OK, you’re right, disabling that feature makes the new header linking system work.

Use Markdown Links was working fine before, so now you are telling me I cannot use that anymore. In fact, nobody can use it anymore, therefore this feature that was introduced only a few versions ago is now deprecated: correct?

To be honest, header linking is not part of the markdown spec for links. l’ll check if we can get this working again however don’t expect compatibility with other software.

@WhiteNoise: no, never mind, don’t try to change it. I’ll work with the wiki-links, using Tab is no big deal for me.

I do think the plug-in option then needs to be out otherwise it’ll cause confusion.

I don’t think this is more mouse-unfrendly, you still have to move back to the keyboard to press #.

Anyway, isn’t it faster to pick what to autocomplete using the keyboard arrow keys?

Depends how long your option list is.
And how much you prefer mice.
Typing the whole thing may be easier, but if I’m adding later, I’d rather not be doing much with the keyboard.

I think we’ll bring back the # autocomplete mode (instead of using tab) for this

1 Like

@Licat: I almost feel a sense of guilt for bringing up this issue. When White Noise pointed out that disabling Use markdown links and it worked for me, I was quite happy to leave the change you had made.

Dor continues to not be happy about it, and maybe there are others too, so it’s your decision, of course. I am OK whichever way you go.

Thanks. I do continue to believe that the previous behaviour was easier. And hope I’m right in assuming that it’s possible to find straightforward keystrokes for the other options.

I don’t use markdown links, so that’s not an issue for me, but I understand some people having strong preferences (or workflow requirements) for them. Which means this really needs to work for them too. And the only 3 options are reverting, finding a new solution to this new problem, or redacting that function.

You should never feel guilty for spotting a problem in an alpha. That stops there being a bigger problem with the beta. WhiteNoise was onto the cause pretty smartly too. The developers make the decision about how best to deal with it.