mirror of
https://github.com/sqlitebrowser/sqlitebrowser.git
synced 2026-05-02 01:49:22 -05:00
cde2393539
This is a first rough implementation of QScintilla support as SQL text editor. It should work mostly and build fine with qmake as well as cmake. The new code supports all the features of the old one plus adding a few subtle improvements. The main point of this, however, is reducing the code we have to maintain and making it easier to add new features to the editor.
42 lines
959 B
C++
42 lines
959 B
C++
// Scintilla source code edit control
|
|
/** @file WordList.h
|
|
** Hold a list of words.
|
|
**/
|
|
// Copyright 1998-2010 by Neil Hodgson <neilh@scintilla.org>
|
|
// The License.txt file describes the conditions under which this software may be distributed.
|
|
|
|
#ifndef WORDLIST_H
|
|
#define WORDLIST_H
|
|
|
|
#ifdef SCI_NAMESPACE
|
|
namespace Scintilla {
|
|
#endif
|
|
|
|
/**
|
|
*/
|
|
class WordList {
|
|
// Each word contains at least one character - a empty word acts as sentinel at the end.
|
|
char **words;
|
|
char *list;
|
|
int len;
|
|
bool onlyLineEnds; ///< Delimited by any white space or only line ends
|
|
int starts[256];
|
|
public:
|
|
explicit WordList(bool onlyLineEnds_ = false);
|
|
~WordList();
|
|
operator bool() const;
|
|
bool operator!=(const WordList &other) const;
|
|
int Length() const;
|
|
void Clear();
|
|
void Set(const char *s);
|
|
bool InList(const char *s) const;
|
|
bool InListAbbreviated(const char *s, const char marker) const;
|
|
const char *WordAt(int n) const;
|
|
};
|
|
|
|
#ifdef SCI_NAMESPACE
|
|
}
|
|
#endif
|
|
|
|
#endif
|