File: clicompleter.h

package info (click to toggle)
sqlitestudio 3.4.21%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 54,880 kB
  • sloc: ansic: 406,208; cpp: 123,872; yacc: 2,692; tcl: 497; sh: 462; xml: 426; makefile: 19
file content (30 lines) | stat: -rw-r--r-- 818 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#ifndef CLICOMPLETER_H
#define CLICOMPLETER_H

#include <QStringList>

class CLI;

class CliCompleter
{
    public:
        static CliCompleter* getInstance();
        static char** complete(const char* text, int start, int end);

        void init(CLI* value);

    private:
        CliCompleter();
        QStringList completeInternal(const QString& toBeReplaced, const QString& text, int curPos);
        QStringList completeCommand(const QString& str, int curPos);
        QStringList completeQuery(const QString& toBeReplaced, const QString& str, int curPos);
        bool doKeepOriginalStr(const QString& str, int curPos);

        static char** toCharArray(const QStringList& list);

        static CliCompleter* instance;

        CLI* cli = nullptr;
};

#endif // CLICOMPLETER_H