diff --git a/CMakeLists.txt b/CMakeLists.txt
index 306f0d992d..d47614993c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -715,7 +715,6 @@ else()
add_subdirectory(codelitegcc)
add_subdirectory(codelite_make)
add_subdirectory(codelite_terminal)
- add_subdirectory(sdk/codelite_indexer)
add_subdirectory(sdk/codelite_cppcheck)
add_subdirectory(codelite_echo)
add_subdirectory(ctagsd)
diff --git a/CodeLite/CodeLite.project b/CodeLite/CodeLite.project
index 1f977e7859..b539c6a9ba 100644
--- a/CodeLite/CodeLite.project
+++ b/CodeLite/CodeLite.project
@@ -145,8 +145,6 @@
-
-
diff --git a/CodeLite/CodeLiteIndexer.cpp b/CodeLite/CodeLiteIndexer.cpp
deleted file mode 100644
index c80ca62e7a..0000000000
--- a/CodeLite/CodeLiteIndexer.cpp
+++ /dev/null
@@ -1,158 +0,0 @@
-#include "CodeLiteIndexer.hpp"
-#include "asyncprocess.h"
-#include "clTempFile.hpp"
-#include "cl_indexer_request.h"
-#include "clindexerprotocol.h"
-#include "ctags_manager.h"
-#include "file_logger.h"
-#include "named_pipe_client.h"
-#include
-#include
-
-#ifdef __WXMSW__
-#define PIPE_NAME "\\\\.\\pipe\\codelite_indexer_%s"
-#else
-#include
-#define PIPE_NAME "/tmp/codelite/%s/codelite_indexer.sock"
-#endif
-
-namespace
-{
-wxArrayString vector_to_wx_array(const vector& v)
-{
- wxArrayString wx_arr;
- wx_arr.reserve(v.size());
- for(const wxString& str : v) {
- wx_arr.Add(str);
- }
- return wx_arr;
-}
-} // namespace
-
-CodeLiteIndexer::CodeLiteIndexer()
-{
- wxString uid;
- uid << wxGetProcessId();
-
-#ifndef __WXMSW__
- wxFileName::Mkdir("/tmp/codelite/" + uid, wxS_DIR_DEFAULT, wxPATH_MKDIR_FULL);
-
- string channel_path = get_channel_path();
- ::unlink(channel_path.c_str());
- ::remove(channel_path.c_str());
-#endif
-}
-
-CodeLiteIndexer::~CodeLiteIndexer()
-{
- stop();
-#ifndef __WXMSW__
- ::waitpid(-1, NULL, WNOHANG);
-#endif
-}
-
-void CodeLiteIndexer::set_exe_path(const wxFileName& exepath) { m_exepath = exepath; }
-
-void CodeLiteIndexer::start()
-{
-#ifndef __WXMSW__
- ::waitpid(-1, NULL, WNOHANG);
-#endif
-
- wxDELETE(m_process);
- wxString uid;
- uid << wxGetProcessId();
-
- vector command = { m_exepath.GetFullPath(), uid, "--pid" };
- m_process = ::CreateAsyncProcess(nullptr, command, IProcessCreateWithHiddenConsole | IProcessNoRedirect);
- clDEBUG() << "Starting codelite-index:" << vector_to_wx_array(command) << endl;
-}
-
-bool CodeLiteIndexer::is_running() const { return m_process && m_process->IsAlive(); }
-
-string CodeLiteIndexer::get_channel_path() const
-{
- std::stringstream s;
- s << ::wxGetProcessId();
-
- char channel_name[1024];
- memset(channel_name, 0, sizeof(channel_name));
-
- sprintf(channel_name, PIPE_NAME, s.str().c_str());
- return channel_name;
-}
-
-void CodeLiteIndexer::buffer_to_tags(const wxString& content, wxString& tags, const wxString& kinds) const
-{
- clTempFile tmpfile("hpp");
- tmpfile.Write(content);
- source_to_tags(tmpfile.GetFileName(), tags, kinds);
-}
-
-void CodeLiteIndexer::source_to_tags(const wxFileName& source, wxString& tags, const wxString& kinds) const
-{
- auto channel_path = get_channel_path();
- clNamedPipeClient client(channel_path.c_str());
-
- // Build a request for the indexer
- clIndexerRequest req;
- // set the command
- req.setCmd(clIndexerRequest::CLI_PARSE);
-
- // prepare list of files to be parsed
- std::vector files;
- files.push_back(source.GetFullPath().mb_str(wxConvUTF8).data());
- req.setFiles(files);
-
- // set ctags options to be used
- wxString ctagsCmd;
- wxString _kinds = kinds;
- if(_kinds.empty()) {
- _kinds = "+p";
- }
-
- ctagsCmd << TagsManagerST::Get()->GetCtagsOptions().ToString()
- << " --excmd=pattern --sort=no --fields=aKmSsnit --c-kinds=" << _kinds << " --c++-kinds=" << _kinds;
- req.setCtagOptions(ctagsCmd.mb_str(wxConvUTF8).data());
-
- // clDEBUG1() << "Sending CTAGS command:" << ctagsCmd << clEndl;
- // connect to the indexer
- if(!client.connect()) {
- clWARNING() << "Failed to connect to codelite_indexer:" << channel_path << endl;
- return;
- }
-
- // send the request
- if(!clIndexerProtocol::SendRequest(&client, req)) {
- clWARNING() << "Failed to send request to codelite_indexer:" << channel_path << endl;
- return;
- }
-
- // read the reply
- clIndexerReply reply;
- try {
- std::string errmsg;
- if(!clIndexerProtocol::ReadReply(&client, reply, errmsg)) {
- clWARNING() << "Failed to read indexer reply: " << (wxString() << errmsg) << endl;
- return;
- }
- } catch(std::bad_alloc& ex) {
- clWARNING() << "std::bad_alloc exception caught" << clEndl;
- tags.Clear();
- return;
- }
-
- // convert the data into wxString
- tags = wxString(reply.getTags().c_str(), wxConvUTF8);
- if(tags.empty()) {
- tags = wxString::From8BitData(reply.getTags().c_str());
- }
-}
-
-void CodeLiteIndexer::restart()
-{
- stop();
- start();
-}
-
-void CodeLiteIndexer::stop() { wxDELETE(m_process); }
diff --git a/CodeLite/CodeLiteIndexer.hpp b/CodeLite/CodeLiteIndexer.hpp
deleted file mode 100644
index cc4898f803..0000000000
--- a/CodeLite/CodeLiteIndexer.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-#ifndef CODELITEINDEXER_HPP
-#define CODELITEINDEXER_HPP
-
-#include "codelite_exports.h"
-
-#include
-#include
-#include
-#include
-
-using namespace std;
-class IProcess;
-class WXDLLIMPEXP_CL CodeLiteIndexer
-{
- wxFileName m_exepath;
- IProcess* m_process = nullptr;
-
-public:
- typedef wxSharedPtr ptr_t;
-
-private:
- string get_channel_path() const;
-
-public:
- CodeLiteIndexer();
- ~CodeLiteIndexer();
-
- void set_exe_path(const wxFileName& exepath);
- void start();
- void stop();
- void restart();
- bool is_running() const;
- void source_to_tags(const wxFileName& source, wxString& tags, const wxString& kinds = wxEmptyString) const;
- void buffer_to_tags(const wxString& content, wxString& tags, const wxString& kinds = wxEmptyString) const;
- const wxFileName& get_exe_path() const { return m_exepath; }
-};
-
-#endif // CODELITEINDEXER_HPP
diff --git a/CodeLite/ctags_manager.cpp b/CodeLite/ctags_manager.cpp
index 212c939d2b..7463da821a 100644
--- a/CodeLite/ctags_manager.cpp
+++ b/CodeLite/ctags_manager.cpp
@@ -30,10 +30,7 @@
#include "CxxVariableScanner.h"
#include "asyncprocess.h"
#include "cl_command_event.h"
-#include "cl_indexer_reply.h"
-#include "cl_indexer_request.h"
#include "cl_standard_paths.h"
-#include "clindexerprotocol.h"
#include "code_completion_api.h"
#include "codelite_events.h"
#include "codelite_exports.h"
@@ -43,7 +40,6 @@
#include "file_logger.h"
#include "fileextmanager.h"
#include "fileutils.h"
-#include "named_pipe_client.h"
#include "precompiled_header.h"
#include "processreaderthread.h"
#include "procutils.h"
diff --git a/CodeLite/ctags_manager.h b/CodeLite/ctags_manager.h
index 3baa2e877d..f9261db454 100644
--- a/CodeLite/ctags_manager.h
+++ b/CodeLite/ctags_manager.h
@@ -26,7 +26,6 @@
#ifndef CODELITE_CTAGS_MANAGER_H
#define CODELITE_CTAGS_MANAGER_H
-#include "CodeLiteIndexer.hpp"
#include "cl_calltip.h"
#include "cl_command_event.h"
#include "cl_process.h"
diff --git a/CodeLite/language.h b/CodeLite/language.h
index a6a2139408..b03e141e01 100644
--- a/CodeLite/language.h
+++ b/CodeLite/language.h
@@ -25,7 +25,6 @@
#ifndef CODELITE_LANGUAGE_H
#define CODELITE_LANGUAGE_H
-#include "CodeLiteIndexer.hpp"
#include "CxxTokenizer.h"
#include "CxxVariable.h"
#include "codelite_exports.h"
@@ -40,6 +39,7 @@
#include "tokenizer.h"
#include "variable.h"
#include "y.tab.h"
+
#include
#include
#include
diff --git a/LiteEditor/context_cpp.cpp b/LiteEditor/context_cpp.cpp
index 74c10a0a27..488e7608c2 100644
--- a/LiteEditor/context_cpp.cpp
+++ b/LiteEditor/context_cpp.cpp
@@ -27,7 +27,6 @@
#include "AddFunctionsImpDlg.h"
#include "CTags.hpp"
-#include "CodeLiteIndexer.hpp"
#include "CompletionHelper.hpp"
#include "CxxScannerTokens.h"
#include "CxxVariableScanner.h"
diff --git a/LiteEditor/frame.cpp b/LiteEditor/frame.cpp
index 932d157b6f..f6d51987d7 100644
--- a/LiteEditor/frame.cpp
+++ b/LiteEditor/frame.cpp
@@ -23,7 +23,6 @@
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
-#include "CodeLiteIndexer.hpp"
#include "ColoursAndFontsManager.h"
#include "CompilersFoundDlg.h"
#include "DebuggerToolBar.h"
diff --git a/ctagsd/lib/ProtocolHandler.hpp b/ctagsd/lib/ProtocolHandler.hpp
index 5fc6116da9..ad72cd5ff7 100644
--- a/ctagsd/lib/ProtocolHandler.hpp
+++ b/ctagsd/lib/ProtocolHandler.hpp
@@ -2,7 +2,6 @@
#define PROTOCOLHANDLER_HPP
#include "Channel.hpp"
-#include "CodeLiteIndexer.hpp"
#include "CompletionHelper.hpp"
#include "CxxCodeCompletion.hpp"
#include "ParseThread.hpp"
diff --git a/sdk/codelite_indexer/CMakeLists.txt b/sdk/codelite_indexer/CMakeLists.txt
deleted file mode 100644
index 3758066ab6..0000000000
--- a/sdk/codelite_indexer/CMakeLists.txt
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-# Our project is called 'codelite' this is how it will be called in
-# visual studio, and in our makefiles.
-project(codelite_indexer)
-
-# It was noticed that when using MinGW gcc it is essential that 'core' is mentioned before 'base'.
-
-
-# wxWidgets include (this will do all the magic to configure everything)
-#include( "${wxWidgets_USE_FILE}" )
-
-# Include paths
-#include_directories("${CL_SRC_ROOT}/Plugin" "${CL_SRC_ROOT}/sdk/wxsqlite3/include" "${CL_SRC_ROOT}/CodeLite" "${CL_SRC_ROOT}/PCH" "${CL_SRC_ROOT}/Interfaces")
-
-# we need wxWidgets flags to be set only for the c++ files, so we do it like this
-# by setting the CMAKE_CXX_FLAGS
-if ( NOT MINGW )
-execute_process(COMMAND ${CL_WX_CONFIG} --cxxflags OUTPUT_VARIABLE WX_CXX_FLAGS OUTPUT_STRIP_TRAILING_WHITESPACE)
-else ()
-execute_process(COMMAND sh ${CL_WX_CONFIG} --cxxflags OUTPUT_VARIABLE WX_CXX_FLAGS OUTPUT_STRIP_TRAILING_WHITESPACE)
-endif()
-set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WX_CXX_FLAGS}")
-
-# prepare list of files
-FILE(GLOB SRCS "*.cpp" "libctags/*.c" "network/*.cpp")
-
-if (UNIX)
-# we require this macro to be set to true
-add_definitions(-DHAVE_CONFIG_H)
-endif (UNIX)
-
-# and finally prepare list of includes directories
-include_directories("${CL_SRC_ROOT}/sdk/codelite_indexer/libctags")
-add_definitions(-DwxDEBUG_LEVEL=0)
-
-# Define the output
-add_executable(codelite_indexer ${SRCS})
-target_link_libraries(codelite_indexer ${LINKER_OPTIONS} ${wxWidgets_LIBRARIES})
-
-CL_INSTALL_EXECUTABLE(codelite_indexer)
-
diff --git a/sdk/codelite_indexer/codelite_index_main.cpp b/sdk/codelite_indexer/codelite_index_main.cpp
deleted file mode 100644
index 7a49f47689..0000000000
--- a/sdk/codelite_indexer/codelite_index_main.cpp
+++ /dev/null
@@ -1,105 +0,0 @@
-#include "equeue.h"
-#include "libctags/libctags.h"
-#include "network/named_pipe_client.h"
-#include "network/np_connections_server.h"
-#include "utils.h"
-#include "workerthread.h"
-#include
-#include
-
-#ifdef __WXMSW__
-#define PIPE_NAME "\\\\.\\pipe\\codelite_indexer_%s"
-HINSTANCE gHandler = NULL;
-#else
-// /tmp/codelite/PID/codelite_indexer.sock
-#define PIPE_NAME "/tmp/codelite/%s/codelite_indexer.sock"
-#endif
-
-static eQueue g_connectionQueue;
-
-int main(int argc, char** argv)
-{
-#ifdef __WXMSW__
- // No windows crash dialogs
- SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX | SEM_NOOPENFILEERRORBOX);
- // as described in http://jrfonseca.dyndns.org/projects/gnu-win32/software/drmingw/
- // load the exception handler dll so we will get Dr MinGW at runtime
- gHandler = LoadLibrary(wxS("exchndl.dll"));
-#endif
-
- int max_requests(5000);
- int requests(0);
- long parent_pid(0);
- if(argc < 2) {
- printf("Usage: %s [--pid]\n", argv[0]);
- printf("Usage: %s --batch