X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=client%2Ftabcomplete.c;h=07cb0f091eb4cc88aa393b01000aa6e4e413e933;hp=d3ec86afd370c2977624400c0647a60bd9ef2dbf;hb=aea27bc0e4e3f310196f0e6cee3de8cac69e9806;hpb=7401a51ed865b1dcdf5905b2bc6c793dc023416e diff --git a/client/tabcomplete.c b/client/tabcomplete.c index d3ec86a..07cb0f0 100644 --- a/client/tabcomplete.c +++ b/client/tabcomplete.c @@ -2,7 +2,7 @@ * Copyright (c) 2002, Index Data * See the file LICENSE for details. * - * $Id: tabcomplete.c,v 1.3 2002-01-30 22:02:03 adam Exp $ + * $Id: tabcomplete.c,v 1.7 2002-08-29 19:34:44 ja7 Exp $ */ #include @@ -12,6 +12,8 @@ #include #include "tabcomplete.h" +extern char** curret_global_list; + /* ***************************************************************************** * * generic compleater @@ -19,13 +21,21 @@ * *****************************************************************************/ char* complete_from_list(char* completions[], const char *text, int state) -{ - static idx; +{ + static int idx; + + if(!completions) return NULL; if(state==0) { idx = 0; } for(; completions[idx]; ++ idx) { - if(!strncmp(completions[idx],text,strlen(text))) { + if(! +#ifdef WIN32 + _strnicmp +#else + strncasecmp +#endif + (completions[idx],text,strlen(text))) { ++idx; /* skip this entry on the next run */ return (char*)strdup(completions[idx-1]); }; @@ -57,7 +67,7 @@ void oid_loader(struct oident* oid, void* data_) { oid_callback_t* data=(oid_callback_t*) data_; - //fprintf(stderr,"ja7: called with %d: %s\n",oid->oclass,oid->desc); + if((oid->oclass == CLASS_GENERAL) || (oid->oclass == data->oclass)) { if(data->index==data->max) { data->values=(char**)realloc(data->values,((data->max+1)*2)*sizeof(char*)); @@ -66,7 +76,7 @@ void oid_loader(struct oident* oid, void* data_) data->values[data->index]=oid->desc; ++data->index; } -}; +} char** build_list_for_oclass(oid_class oclass) { oid_callback_t data; @@ -93,6 +103,12 @@ char* complete_querytype(const char *text, int state) return complete_from_list(querytypes,text,state); } +char* complete_auto_reconnect(const char *text, int state) +{ + char* querytypes[] = {"on","off",0}; + return complete_from_list(querytypes,text,state); +} + char* complete_format(const char* text, int state) { @@ -120,7 +136,15 @@ char* complete_attributeset(const char* text, int state) free(list); return res; -}; +} + + +char* default_completer(const char* text, int state) +{ + return complete_from_list(curret_global_list,text,state); +} + + /* * Local variables: