General purpose filter by type (aka typeahead, Incremental find, autocomplete) is it there?
Background
Lately I've become a fanatic that whatever I type on my computer should be DRY compatible . If I need to enter something more than once in any context, I want some custom autocomplete parameter to do some work for me - always - no exceptions.
To work on Windows, I looked at GUI solutions to make this crazy goal a reality.
(almost) optimal solution
If you have a moment, open Firefox 3.0 and enter a few keys into the address bar. You will notice that it does the Incremental Autocomplete look based on the space-separated substrings of what you type. Another place in Firefox that does something like this is the URL about:config
.
It's suboptimal because I don't want it in Firefox only. I want to use it everywhere.
Question
Does anyone know of a widget or app that does nothing other than the insanely good incremental autocomplete that can be used as a general purpose "everywhere" tool? Something that allows the user to: 1) maintain one or more "candidate completion files"; 2) select one of these files as the source to complete the Firefox 3.0 style; 3) return the result (or empty if the user canceled) and only do these three things?
More details
This is how it should work:
- STEP1: User saves or more csv files (or other easily editable format) somewhere on their hard drive
- STEP2: User creates Windows Script Host Script or batch file (or whatever) creates an instance of FilterAsYouType GUI
- STEP3: The user runs the Script file and the Script file creates a GUI telling him which CSV file to use as the source of all possible completions
- STEP4: The user either selects one of the completions, supplies his own text that is not in the list, or cancels without supplying anything
- STEP5: When the user is done, the Script stores the result in a variable and does something with it
Here is some pseudocode for the script:
include "GenericTypeaheadWidget";
var gengui = new GenericTypaheadWidget('c:\docs\favorite_foods.csv');
var fave_food = gengui.get_user_input();
if(fave_food != ''){
alert('you chose '+fave_food+'!');
}
Justification
The goal is to be able to always auto-complete from a list of arbitrary items, even if the list is several thousand items, and should not rely on being built into some IDE or stand-alone application that only accepts certain kinds of input or has complex API.
CSV (or text or sqlite database) will give me the ability to generate "candidate lists" or "history logs" myself and then use those logs as a source of possible completions.
Denial of responsibility
I have tried several graphical "launcher" programs such as command line kernels and script shells, the usual old command line history with varying degrees of satisfaction. The problem is that they all do unnecessary things like looking up directories or built-in commands. I just want nothing but what is in the CSV file I point to.
I am wondering if there is any simple tool that does nothing other than what I describe above.
UPDATE: It looks like this question is very closely related to the graphical command shell , which introduces the basic idea presented here.
source to share
You should really try Launchy - it's exactly what you're looking for, "launch something" with smart auto-completion. It completely changes the way you interact with your Windows PC.
And it's open source, so you can grab its autocomplete code if you want to flip your own interface.
source to share