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__))
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, badge_colors={'rust':'#FEDFB0'}, mappings=mappings, refs=refs_from_namespace(refs.__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__), )
from functools import partial from os.path import abspath from schema import Optional, Use, And from dxr.config import AbsPath from dxr.plugins import Plugin, AdHocTreeToIndex, filters_from_namespace, refs_from_namespace from dxr.plugins.xpidl import filters, refs from dxr.plugins.xpidl.mappings import mappings from dxr.plugins.xpidl.indexers import FileToIndex def split_on_space_into_abspaths(value): return map(abspath, value.strip().split()) ColonPathList = And(basestring, Use(split_on_space_into_abspaths), error='This should be a space-separated list of paths.') plugin = Plugin( tree_to_index=partial(AdHocTreeToIndex, file_to_index_class=FileToIndex), refs=refs_from_namespace(refs.__dict__), filters=filters_from_namespace(filters.__dict__), mappings=mappings, config_schema={ 'header_path': AbsPath, Optional('include_folders', default=[]): ColonPathList})