albertlauncher / albert

A fast and flexible keyboard launcher
https://albertlauncher.github.io
Other
7.28k stars 306 forks source link

Text expansion plugin #392

Closed kavyagokul closed 7 years ago

kavyagokul commented 7 years ago
Environent

It would be great to have a snippets or text-expansion feature built as a plugin, like this feature from Alfred:

https://www.alfredapp.com/help/features/snippets/

An alternative to building a complete extension would be to build an integration to something like Autokey-py3, Snippits, or similar.

owcz commented 7 years ago

autokey-py3 has a major bug with special characters but otherwise has a lot more functionality than Alfred's Snippets in running more complicated substitutions and scripts

kavyagokul commented 7 years ago

@owcz I just suggested Autokey-Py3 as an existing thing that can be integrated. I think that the best approach would be if Albert has its own thing.

BarbUk commented 7 years ago

It's a great idea. I'm using snippy (https://github.com/BarbUk/dotfiles/blob/master/bin/snippy), I will do an external plugin with the same core design.

lf-araujo commented 7 years ago

@BarbUk , did you have time to look into it? I am trying to wrap may head around it but it would require a little more bash than what I know...

ManuelSchneid3r commented 7 years ago

This is basically the kv store extension. It needs some improvements though.

kemalatila commented 6 years ago

I think this extension is very important for humanity.. Lets do it as soon as possible.

ManuelSchneid3r commented 6 years ago

@kemalatila What do you miss in the key value extension?

pacharanero commented 6 years ago

I use Autokey https://github.com/autokey/autokey alongside Albert for this kind of snippet and expansion functionality. I'm not sure it would be a particularly good feature for a launcher anyway, because you'd still have to invoke the launcher (eg alt + space) and then type 'kv' and then type your 'key' in order to have the 'value' in your clipboard.

With Autokey I can assign any arbitrary text as a trigger string, which if typed anywhere will immediately trigger text expansion or replacement, globally and without having to invoke the launcher first. Much more convenient that triggering the launcher etc as above.

Autokey, like Albert, has Python extension capability and seems to get along fine with Albert. Neither use too much in the way of resources. So I reckon why not use Autokey for what it's good at and Albert for what it is good at, rather than having the features of Autokey in Albert?

kemalatila commented 6 years ago

@ManuelSchneid3r I summarized in 5 items.

ManuelSchneid3r commented 6 years ago

There isn't auto paste feature. (This paste feature could be compatible with terminal and for anywhere).

Yes that would be cool

Can't upload (kv)s to any repo (my choice is auto).

upload? repo? auto? :thinking:

Could be something like intellij idea's live templates.

Thats exactly point 1 isnt it? In the app itself this is easy. But I think that inserting text into another application is not portable. Wayland does not even allow hotkeys I dare to say they do not allow this.

Easy managed edit panel for kv's.

Sure that would be cool. Noted.

Quick preview option

Hmm. Albert is not a previewer. Maybe there will be an api for external previewers like sushi etc. But I guess not in the app itself.

ManuelSchneid3r commented 6 years ago

Further I have to say that I am fully with @pacharanero. Text expansion is not really a thing a launcher should do. (Although Alfred does I know).

kemalatila commented 6 years ago

Thank you @ManuelSchneid3r for interested in with matters.

These matters was just imagination. I think launchers very useful for using text expansion (or just inserting snippets) either I can say text expansion tools need a launcher. I like these tools and finally found "snippy" from above comments. "Snippy" fulfills my requirements as good as enough.

Can't upload (kv)s to any repo (my choice is auto). upload? repo? auto? :thinking:

Sorry for undetailed explanation. I mean we can save our albert settings and (kv)s to our git repo for syncing other computers. It can ask once for git repo address and username and password and than It can auto commit and push our settings to repo.

Could be something like intellij idea's live templates. Thats exactly point 1 isnt it? In the app itself this is easy. But I think that inserting text into another application is not portable. Wayland does not even allow hotkeys I dare to say they do not allow this.

There is more important issue as you know live templates can take dynamic variables for to dynamically generate template before inserting text. You're right about portability.