Autocomplete support for markdown links [](internal-link)

Continuing the discussion from [Visual distinguishment of | link description or autocompletion in ](Visual distinguishment of | link description or autocompletion in [](links)):

Use case or problem

I love this idea so much that I think it deserves its own feature request that is not attached to wikilink-with-pipes. Just like with [[internal link]] that gets great autocomplete support, plain markdown links should to without requiring turning off Wikilinks in Settings.

Proposed solution

Autocomplete dialog shows up when entering a markdown link [label]( when the cursor is just after the open parenthesis the autocomplete shows up.

If the the text entered matches a URL scheme (https: or some-app:) the autocomplete goes away.

Current workaround (optional)

From @Erisred:

Turning off ‘Use Wikilinks’ in Settings → Files and links. For me, this autocompletes to [name of link](path/to/file.md) when I start with [[ and some text.

5 Likes

Maybe I’m missing something.

Why would you leave this on, if you want markdown links? If you have [[link]] it will still work, so there aren’t any conflicts. Also, if you’re creating a new page, physically typing out [[new-note]] creates a link to the new-note.md file.

If the Wikilinks are off, all you have to do is the same thing you would do to autocomplete a wikilink, eg. [[just-enough-text-to-see-the-file then select the correct file to link to.

The only thing neither option does is allow for quick renaming of the alias. [link alias](actual filename) still requires you to go back to the alias and rename it.

I think I understand what you are aiming to achieve - for the autocomplete function to create a standard markdown link when Wikilinks is on, I simply can’t understand why you would leave them on when it isn’t what you want to use.
Lastly, please don’t think of this a criticism of your methods, I’m just trying to understand.

Fair question and actually simple answer: I don’t want to only use one or the other.

If I wanted to have all links as standard markdown (or even preferred them by default) the process described in workaround would work just fine behaving like a shortcut. I think Wikilinks without aliases are more readable and I like them.

1 Like

Thanks for answering. I still don’t quite get it, but I understand your need.
For the record, I still use [[Wikilinks]] too, mostly because they don’t interrupt the writing flow. I always go back and change them later, though!

Hoping your request finds success, then. Good luck!

Hi, Just to support here, I have the same approach as fcy.

The reason why I want to use both is that 90% of cases I want to use [[wikilinks]] because they are far easier to type and far less intrusive visually in the text. They flow naturally in writing and reading.

However, in some cases I want to throw in a standard markdown link, because the sentence wouldn’t flow well with the original note name. E.g.

When [[Savouring increases happiness|savouring]], you gain positive affect regardless of the magnitude of the change. [^1]

or

When [savouring](Savouring increases happiness.md), you gain positive affect regardless of the magnitude of the change. [^1]

The latter is better, because you flow with the sentence and then skip over the link part. The pipe in the former doesn’t work that well, because you first have to skip the name, find the pipe inside the [[]] and then read what’s after the pipe.

So ideally I can, when I know I need it, type a markdown link and autocomplete and work with wikilinks 90% of the other time.

3 Likes

I also support this request. Current workaround is not very handy when you want to use both wikilinks and markdown links when writing.

Well, in my personal case it would be very useful. Let’s say I have the following text inside a note, referencing another note: “This should add certain functionalities that…”. The list of that functionalities is in the section (with the heading) Functionalities of another note named Project name.

With the use of wikilinks, the resulting text would be “This should add certain [[Project name#Functionalities]] that…”, while with normal md links it would be “This should add certain [functionalities](Project%name#Functionalities) that”, resulting more adequate with the integration in the text; it’s more legible and doesn’t break the writing flow.