return True mappings = { LINE: { 'properties': { 'rust_function': QUALIFIED_LINE_NEEDLE, 'rust_function_ref': QUALIFIED_LINE_NEEDLE, 'rust_var': QUALIFIED_LINE_NEEDLE, 'rust_var_ref': QUALIFIED_LINE_NEEDLE, 'rust_type': QUALIFIED_LINE_NEEDLE, 'rust_type_ref': QUALIFIED_LINE_NEEDLE, 'rust_module': QUALIFIED_LINE_NEEDLE, 'rust_module_ref': QUALIFIED_LINE_NEEDLE, 'rust_module_alias_ref': QUALIFIED_LINE_NEEDLE, 'rust_extern_ref': QUALIFIED_LINE_NEEDLE, 'rust_module_use': QUALIFIED_LINE_NEEDLE, 'rust_impl': QUALIFIED_LINE_NEEDLE, 'rust_fn_impls': QUALIFIED_LINE_NEEDLE, 'rust_bases': QUALIFIED_LINE_NEEDLE, 'rust_derived': QUALIFIED_LINE_NEEDLE, 'rust_callers': QUALIFIED_LINE_NEEDLE, } } } plugin = Plugin(filters=filters_from_namespace(filters.__dict__), tree_to_index=TreeToIndex, mappings=mappings, refs=refs_from_namespace(refs.__dict__))
"""C and C++ analysis using a clang compiler plugin This plugin handles structural analysis of C++ code by building the project under clang while interposing a custom compiler plugin that dumps out structural data to CSV files during compilation. This is then pulled into elasticsearch as a post-processing phase. """ from dxr.plugins import Plugin, filters_from_namespace, refs_from_namespace from dxr.plugins.clang import direct, filters, menus from dxr.plugins.clang.indexers import TreeToIndex, mappings plugin = Plugin(filters=filters_from_namespace(filters.__dict__), tree_to_index=TreeToIndex, mappings=mappings, badge_colors={'c': '#F4FAAA'}, direct_searchers=direct.searchers, refs=refs_from_namespace(menus.__dict__))
"""JS plugin: analyze Javascript files by building a symbol map on parse by esprima. """ from dxr.plugins import Plugin, filters_from_namespace, refs_from_namespace from dxr.filters import LINE from dxr.indexers import QUALIFIED_LINE_NEEDLE from dxr.plugins.js.indexers import TreeToIndex from dxr.plugins.js.refs import PLUGIN_NAME from dxr.plugins.js import refs, filters mappings = { LINE: { 'properties': { PLUGIN_NAME + '_prop': QUALIFIED_LINE_NEEDLE, PLUGIN_NAME + '_var': QUALIFIED_LINE_NEEDLE, PLUGIN_NAME + '_prop_ref': QUALIFIED_LINE_NEEDLE, PLUGIN_NAME + '_var_ref': QUALIFIED_LINE_NEEDLE } } } plugin = Plugin( tree_to_index=TreeToIndex, mappings=mappings, refs=refs_from_namespace(refs.__dict__), filters=filters_from_namespace(filters.__dict__), )
"""Python plugin, using the ast and tokenize standard library modules""" from dxr.config import AbsPath from dxr.plugins import filters_from_namespace, refs_from_namespace, Plugin from dxr.plugins.python import filters, menus from dxr.plugins.python.indexers import mappings, TreeToIndex plugin = Plugin( filters=filters_from_namespace(filters.__dict__), tree_to_index=TreeToIndex, mappings=mappings, badge_colors={'py': '#ECE6FD'}, refs=refs_from_namespace(menus.__dict__), config_schema = { 'python_path': AbsPath } )