diff options
author | Stephan Wahlbrink | 2019-06-21 11:52:56 +0000 |
---|---|---|
committer | Stephan Wahlbrink | 2019-06-21 20:06:12 +0000 |
commit | 3d573e4551deec121e0527cdc166c427ba5981b3 (patch) | |
tree | bc9669dec2e7dbc517f83d7b083be557ece2b3b1 | |
parent | 03a9dbd4b69d05a0c3fd82cf60be056b6e53de8a (diff) | |
download | org.eclipse.statet-docmlet-3d573e4551deec121e0527cdc166c427ba5981b3.tar.gz org.eclipse.statet-docmlet-3d573e4551deec121e0527cdc166c427ba5981b3.tar.xz org.eclipse.statet-docmlet-3d573e4551deec121e0527cdc166c427ba5981b3.zip |
Bug 546255: [Wikidoc-Editor, Ltx-Editor] Improve content assist for
labels (references)
- Add different icons for references, definitions and text
- Add special handling of categories by prefix separated by ':'
- Add title to wikitext links (AST node and proposal)
Change-Id: I56e92e1fcc04dee0494e87b593375f4542a93d51
48 files changed, 1952 insertions, 81 deletions
diff --git a/docmlet/org.eclipse.statet.docmlet.base.core-tests/.classpath b/docmlet/org.eclipse.statet.docmlet.base.core-tests/.classpath new file mode 100644 index 00000000..7728a88c --- /dev/null +++ b/docmlet/org.eclipse.statet.docmlet.base.core-tests/.classpath @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"> + <attributes> + <attribute name="annotationpath" value="/org.eclipse.statet/eea/"/> + </attributes> + </classpathentry> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"> + <attributes> + <attribute name="annotationpath" value="/org.eclipse.statet/eea/"/> + </attributes> + </classpathentry> + <classpathentry kind="src" path="src"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/docmlet/org.eclipse.statet.docmlet.base.core-tests/.gitignore b/docmlet/org.eclipse.statet.docmlet.base.core-tests/.gitignore new file mode 100644 index 00000000..09e3bc9b --- /dev/null +++ b/docmlet/org.eclipse.statet.docmlet.base.core-tests/.gitignore @@ -0,0 +1,2 @@ +/bin/ +/target/ diff --git a/docmlet/org.eclipse.statet.docmlet.base.core-tests/.project b/docmlet/org.eclipse.statet.docmlet.base.core-tests/.project new file mode 100644 index 00000000..b69c82db --- /dev/null +++ b/docmlet/org.eclipse.statet.docmlet.base.core-tests/.project @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.statet.docmlet.base.core-tests</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/docmlet/org.eclipse.statet.docmlet.base.core-tests/.settings/org.eclipse.core.resources.prefs b/docmlet/org.eclipse.statet.docmlet.base.core-tests/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 00000000..99f26c02 --- /dev/null +++ b/docmlet/org.eclipse.statet.docmlet.base.core-tests/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/<project>=UTF-8 diff --git a/docmlet/org.eclipse.statet.docmlet.base.core-tests/.settings/org.eclipse.core.runtime.prefs b/docmlet/org.eclipse.statet.docmlet.base.core-tests/.settings/org.eclipse.core.runtime.prefs new file mode 100644 index 00000000..5a0ad22d --- /dev/null +++ b/docmlet/org.eclipse.statet.docmlet.base.core-tests/.settings/org.eclipse.core.runtime.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +line.separator=\n diff --git a/docmlet/org.eclipse.statet.docmlet.base.core-tests/.settings/org.eclipse.jdt.core.prefs b/docmlet/org.eclipse.statet.docmlet.base.core-tests/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..694c6ff6 --- /dev/null +++ b/docmlet/org.eclipse.statet.docmlet.base.core-tests/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,336 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.codeComplete.argumentPrefixes= +org.eclipse.jdt.core.codeComplete.argumentSuffixes= +org.eclipse.jdt.core.codeComplete.fieldPrefixes= +org.eclipse.jdt.core.codeComplete.fieldSuffixes= +org.eclipse.jdt.core.codeComplete.localPrefixes= +org.eclipse.jdt.core.codeComplete.localSuffixes= +org.eclipse.jdt.core.codeComplete.staticFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFieldSuffixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes= +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false +org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false +org.eclipse.jdt.core.formatter.align_with_spaces=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=32 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_module_statements=16 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=85 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0 +org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=2 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=0 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=2 +org.eclipse.jdt.core.formatter.blank_lines_before_package=1 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=false +org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false +org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=false +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=false +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert +org.eclipse.jdt.core.formatter.comment.line_length=100 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=false +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=2 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=4 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.lineSplit=100 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=tab +org.eclipse.jdt.core.formatter.tabulation.size=4 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=false +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true +org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/docmlet/org.eclipse.statet.docmlet.base.core-tests/.settings/org.eclipse.jdt.ui.prefs b/docmlet/org.eclipse.statet.docmlet.base.core-tests/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 00000000..57284e5a --- /dev/null +++ b/docmlet/org.eclipse.statet.docmlet.base.core-tests/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,135 @@ +cleanup.add_default_serial_version_id=true +cleanup.add_generated_serial_version_id=false +cleanup.add_missing_annotations=true +cleanup.add_missing_deprecated_annotations=true +cleanup.add_missing_methods=false +cleanup.add_missing_nls_tags=false +cleanup.add_missing_override_annotations=true +cleanup.add_missing_override_annotations_interface_methods=true +cleanup.add_serial_version_id=false +cleanup.always_use_blocks=true +cleanup.always_use_parentheses_in_expressions=true +cleanup.always_use_this_for_non_static_field_access=true +cleanup.always_use_this_for_non_static_method_access=false +cleanup.convert_functional_interfaces=false +cleanup.convert_to_enhanced_for_loop=false +cleanup.correct_indentation=false +cleanup.format_source_code=false +cleanup.format_source_code_changes_only=false +cleanup.insert_inferred_type_arguments=false +cleanup.make_local_variable_final=true +cleanup.make_parameters_final=true +cleanup.make_private_fields_final=true +cleanup.make_type_abstract_if_missing_method=false +cleanup.make_variable_declarations_final=true +cleanup.never_use_blocks=false +cleanup.never_use_parentheses_in_expressions=false +cleanup.organize_imports=true +cleanup.qualify_static_field_accesses_with_declaring_class=false +cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=false +cleanup.qualify_static_member_accesses_with_declaring_class=true +cleanup.qualify_static_method_accesses_with_declaring_class=false +cleanup.remove_private_constructors=true +cleanup.remove_redundant_modifiers=false +cleanup.remove_redundant_semicolons=true +cleanup.remove_redundant_type_arguments=true +cleanup.remove_trailing_whitespaces=false +cleanup.remove_trailing_whitespaces_all=true +cleanup.remove_trailing_whitespaces_ignore_empty=false +cleanup.remove_unnecessary_casts=true +cleanup.remove_unnecessary_nls_tags=true +cleanup.remove_unused_imports=true +cleanup.remove_unused_local_variables=false +cleanup.remove_unused_private_fields=true +cleanup.remove_unused_private_members=false +cleanup.remove_unused_private_methods=true +cleanup.remove_unused_private_types=true +cleanup.sort_members=false +cleanup.sort_members_all=false +cleanup.use_anonymous_class_creation=false +cleanup.use_blocks=true +cleanup.use_blocks_only_for_return_and_throw=false +cleanup.use_lambda=true +cleanup.use_parentheses_in_expressions=false +cleanup.use_this_for_non_static_field_access=true +cleanup.use_this_for_non_static_field_access_only_if_necessary=false +cleanup.use_this_for_non_static_method_access=true +cleanup.use_this_for_non_static_method_access_only_if_necessary=true +cleanup.use_type_arguments=false +cleanup_profile=_StatET +cleanup_settings_version=2 +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_profile=_StatET +formatter_settings_version=14 +org.eclipse.jdt.ui.exception.name=e +org.eclipse.jdt.ui.gettersetter.use.is=true +org.eclipse.jdt.ui.ignorelowercasenames=true +org.eclipse.jdt.ui.importorder=\#;java;javax;com.ibm.icu;org.osgi;org.eclipse;;org.eclipse.statet.jcommons;org.eclipse.statet.ecommons;org.eclipse.statet; +org.eclipse.jdt.ui.javadoc=true +org.eclipse.jdt.ui.keywordthis=true +org.eclipse.jdt.ui.ondemandthreshold=99 +org.eclipse.jdt.ui.overrideannotation=true +org.eclipse.jdt.ui.staticondemandthreshold=99 +org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\#\n \# Copyright (c) ${year} ${user} and others.\n \# \n \# This program and the accompanying materials are made available under the\n \# terms of the Eclipse Public License 2.0 which is available at\n \# https\://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0\n \# which is available at https\://www.apache.org/licenses/LICENSE-2.0.\n \# \n \# SPDX-License-Identifier\: EPL-2.0 OR Apache-2.0\n \# \n \# Contributors\:\n \# ${user} - initial API and implementation\n \#\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=*/</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * \n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment"/><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="false" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates> +sp_cleanup.add_default_serial_version_id=true +sp_cleanup.add_generated_serial_version_id=false +sp_cleanup.add_missing_annotations=true +sp_cleanup.add_missing_deprecated_annotations=true +sp_cleanup.add_missing_methods=false +sp_cleanup.add_missing_nls_tags=false +sp_cleanup.add_missing_override_annotations=true +sp_cleanup.add_missing_override_annotations_interface_methods=true +sp_cleanup.add_serial_version_id=false +sp_cleanup.always_use_blocks=true +sp_cleanup.always_use_parentheses_in_expressions=true +sp_cleanup.always_use_this_for_non_static_field_access=true +sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_functional_interfaces=false +sp_cleanup.convert_to_enhanced_for_loop=false +sp_cleanup.correct_indentation=false +sp_cleanup.format_source_code=false +sp_cleanup.format_source_code_changes_only=false +sp_cleanup.insert_inferred_type_arguments=false +sp_cleanup.make_local_variable_final=true +sp_cleanup.make_parameters_final=true +sp_cleanup.make_private_fields_final=true +sp_cleanup.make_type_abstract_if_missing_method=false +sp_cleanup.make_variable_declarations_final=false +sp_cleanup.never_use_blocks=false +sp_cleanup.never_use_parentheses_in_expressions=false +sp_cleanup.on_save_use_additional_actions=true +sp_cleanup.organize_imports=true +sp_cleanup.qualify_static_field_accesses_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_with_declaring_class=true +sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_redundant_modifiers=false +sp_cleanup.remove_redundant_semicolons=true +sp_cleanup.remove_redundant_type_arguments=true +sp_cleanup.remove_trailing_whitespaces=false +sp_cleanup.remove_trailing_whitespaces_all=false +sp_cleanup.remove_trailing_whitespaces_ignore_empty=true +sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_nls_tags=false +sp_cleanup.remove_unused_imports=false +sp_cleanup.remove_unused_local_variables=false +sp_cleanup.remove_unused_private_fields=false +sp_cleanup.remove_unused_private_members=false +sp_cleanup.remove_unused_private_methods=false +sp_cleanup.remove_unused_private_types=true +sp_cleanup.sort_members=false +sp_cleanup.sort_members_all=false +sp_cleanup.use_anonymous_class_creation=false +sp_cleanup.use_blocks=true +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_lambda=false +sp_cleanup.use_parentheses_in_expressions=false +sp_cleanup.use_this_for_non_static_field_access=true +sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false +sp_cleanup.use_this_for_non_static_method_access=true +sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true +sp_cleanup.use_type_arguments=false diff --git a/docmlet/org.eclipse.statet.docmlet.base.core-tests/META-INF/MANIFEST.MF b/docmlet/org.eclipse.statet.docmlet.base.core-tests/META-INF/MANIFEST.MF new file mode 100644 index 00000000..9ac86b8b --- /dev/null +++ b/docmlet/org.eclipse.statet.docmlet.base.core-tests/META-INF/MANIFEST.MF @@ -0,0 +1,9 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-SymbolicName: org.eclipse.statet.docmlet.base.core.tests +Bundle-Version: 4.1.0.qualifier +Bundle-Vendor: Eclipse StatET +Bundle-Name: StatET DocMLET - Base - Core - Tests (Incubation) +Fragment-Host: org.eclipse.statet.docmlet.base.core +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Require-Bundle: org.junit;bundle-version="4.12.0" diff --git a/docmlet/org.eclipse.statet.docmlet.base.core-tests/about.html b/docmlet/org.eclipse.statet.docmlet.base.core-tests/about.html new file mode 100644 index 00000000..f0947381 --- /dev/null +++ b/docmlet/org.eclipse.statet.docmlet.base.core-tests/about.html @@ -0,0 +1,31 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> +<title>About</title> +</head> +<body lang="EN-US"> +<h2>About This Content</h2> + +<p>January 1, 2019</p> +<h3>License</h3> + +<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless + otherwise indicated below, the Content is provided to you under the terms and conditions of the + Eclipse Public License Version 2.0 ("EPL"), or the Apache License, Version 2.0 (AL). + A copy of the EPL is available at <a href="https://www.eclipse.org/legal/epl-2.0" + >https://www.eclipse.org/legal/epl-2.0</a>. For purposes of the EPL, "Program" will + mean the Content. A copy of the AL is available at <a href="https://www.apache.org/licenses/LICENSE-2.0" + >https://www.apache.org/licenses/LICENSE-2.0</a>.</p> + +<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being + redistributed by another party ("Redistributor") and different terms and conditions + may apply to your use of any object code in the Content. Check the Redistributor's license that + was provided with the Content. If no such license exists, contact the Redistributor. Unless + otherwise indicated below, the terms and conditions of the EPL or AL still apply to any source + code in the Content and such source code may be obtained at <a href="https://www.eclipse.org/" + >https://www.eclipse.org</a>.</p> + +</body> +</html> diff --git a/docmlet/org.eclipse.statet.docmlet.base.core-tests/build.properties b/docmlet/org.eclipse.statet.docmlet.base.core-tests/build.properties new file mode 100644 index 00000000..9f02c9f9 --- /dev/null +++ b/docmlet/org.eclipse.statet.docmlet.base.core-tests/build.properties @@ -0,0 +1,8 @@ +source..= src/ +output..= bin/ +javacDefaultEncoding..= UTF-8 + +bin.includes= META-INF/,\ + .,\ + about.html +src.includes= .settings/org.eclipse.core.resources.prefs diff --git a/docmlet/org.eclipse.statet.docmlet.base.core-tests/src/org/eclipse/statet/docmlet/base/core/DocmlSearchPatternLabelTest.java b/docmlet/org.eclipse.statet.docmlet.base.core-tests/src/org/eclipse/statet/docmlet/base/core/DocmlSearchPatternLabelTest.java new file mode 100644 index 00000000..768f9eda --- /dev/null +++ b/docmlet/org.eclipse.statet.docmlet.base.core-tests/src/org/eclipse/statet/docmlet/base/core/DocmlSearchPatternLabelTest.java @@ -0,0 +1,125 @@ +/*=============================================================================# + # Copyright (c) 2019 Stephan Wahlbrink <sw@wahlbrink.eu> and others. + # + # This program and the accompanying materials are made available under the + # terms of the Eclipse Public License 2.0 which is available at + # https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0 + # which is available at https://www.apache.org/licenses/LICENSE-2.0. + # + # SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 + # + # Contributors: + # Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation + #=============================================================================*/ + +package org.eclipse.statet.docmlet.base.core; + +import static org.eclipse.statet.docmlet.base.core.DocmlSearchPattern.LABEL_SUBSTRING_MATCH; +import static org.eclipse.statet.jcommons.text.core.SearchPattern.PREFIX_MATCH; +import static org.eclipse.statet.jcommons.text.core.SearchPattern.SUBSTRING_MATCH; +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; + +import org.junit.Test; + +import org.eclipse.statet.jcommons.lang.NonNullByDefault; +import org.eclipse.statet.jcommons.text.core.SearchPattern; + + +@NonNullByDefault +public class DocmlSearchPatternLabelTest extends DocmlSearchPatternTest { + + + public DocmlSearchPatternLabelTest() { + } + + + @Override + protected DocmlSearchPattern createPattern(int rules) { + if ((rules & SUBSTRING_MATCH) != 0) { + rules|= LABEL_SUBSTRING_MATCH; + } + return super.createPattern(rules); + } + + + @Test + public void matches_Substring_Prefix_0() { + final SearchPattern pattern= createPattern(SUBSTRING_MATCH); + + pattern.setPattern(""); + assertEquals(PREFIX_MATCH, pattern.matches("sec:a")); + assertEquals(PREFIX_MATCH, pattern.matches("sec:abc")); + + pattern.setPattern("a"); + assertEquals(SUBSTRING_MATCH, pattern.matches("sec:a")); + assertEquals(SUBSTRING_MATCH, pattern.matches("sec:abc")); + assertEquals(SUBSTRING_MATCH, pattern.matches("sec:xabcxabc")); + assertEquals(0, pattern.matches("sec:xbc")); + + pattern.setPattern("ab"); + assertEquals(0, pattern.matches("sec:a")); + assertEquals(SUBSTRING_MATCH, pattern.matches("sec:abc")); + assertEquals(SUBSTRING_MATCH, pattern.matches("sec:xabcxabc")); + assertEquals(0, pattern.matches("sec:xbc")); + + pattern.setPattern("bc"); + assertEquals(0, pattern.matches("sec:a")); + assertEquals(SUBSTRING_MATCH, pattern.matches("sec:abc")); + assertEquals(SUBSTRING_MATCH, pattern.matches("sec:xabcxabc")); + assertEquals(SUBSTRING_MATCH, pattern.matches("sec:xbc")); + assertEquals(0, pattern.matches("sec:xbxc")); + } + + @Test + public void matches_Substring_Prefix_PatternWithPrefix() { + final SearchPattern pattern= createPattern(SUBSTRING_MATCH); + + pattern.setPattern("sec:"); + assertEquals(PREFIX_MATCH, pattern.matches("sec:a")); + assertEquals(PREFIX_MATCH, pattern.matches("sec:abc")); + assertEquals(0, pattern.matches("secx:abc")); + + pattern.setPattern("sec:a"); + assertEquals(PREFIX_MATCH, pattern.matches("sec:a")); + assertEquals(PREFIX_MATCH, pattern.matches("sec:abc")); + assertEquals(LABEL_SUBSTRING_MATCH, pattern.matches("sec:xabcxabc")); + assertEquals(0, pattern.matches("sec:xbc")); + assertEquals(0, pattern.matches("secx:xabc")); + + pattern.setPattern("sec:ab"); + assertEquals(0, pattern.matches("sec:a")); + assertEquals(PREFIX_MATCH, pattern.matches("sec:abc")); + assertEquals(LABEL_SUBSTRING_MATCH, pattern.matches("sec:xabcxabc")); + assertEquals(0, pattern.matches("sec:xbc")); + assertEquals(0, pattern.matches("secx:xabc")); + + pattern.setPattern("sec:bc"); + assertEquals(0, pattern.matches("sec:a")); + assertEquals(LABEL_SUBSTRING_MATCH, pattern.matches("sec:abc")); + assertEquals(LABEL_SUBSTRING_MATCH, pattern.matches("sec:xabcxabc")); + assertEquals(0, pattern.matches("sec:xbxc")); + assertEquals(0, pattern.matches("secx:xabc")); + } + + + @Test + public void getMatchingRegions_Substring_PatternWithPrefix() { + final SearchPattern pattern= createPattern(SUBSTRING_MATCH); + + pattern.setPattern("sec:a"); + assertArrayEquals(new int[] { 0, 4, 5, 6, 9, 10 }, + pattern.getMatchingRegions("sec:xabcxabc", LABEL_SUBSTRING_MATCH) ); + + pattern.setPattern("sec:ab"); + assertArrayEquals(new int[] { 0, 4, 5, 7, 9, 11 }, + pattern.getMatchingRegions("sec:xabcxabc", LABEL_SUBSTRING_MATCH) ); + + pattern.setPattern("sec:bc"); + assertArrayEquals(new int[] { 0, 4, 5, 7 }, + pattern.getMatchingRegions("sec:abc", LABEL_SUBSTRING_MATCH) ); + assertArrayEquals(new int[] { 0, 4, 6, 8, 10, 12 }, + pattern.getMatchingRegions("sec:xabcxabc", LABEL_SUBSTRING_MATCH) ); + } + +} diff --git a/docmlet/org.eclipse.statet.docmlet.base.core-tests/src/org/eclipse/statet/docmlet/base/core/DocmlSearchPatternTest.java b/docmlet/org.eclipse.statet.docmlet.base.core-tests/src/org/eclipse/statet/docmlet/base/core/DocmlSearchPatternTest.java new file mode 100644 index 00000000..586318be --- /dev/null +++ b/docmlet/org.eclipse.statet.docmlet.base.core-tests/src/org/eclipse/statet/docmlet/base/core/DocmlSearchPatternTest.java @@ -0,0 +1,353 @@ +/*=============================================================================# + # Copyright (c) 2019 Stephan Wahlbrink <sw@wahlbrink.eu> and others. + # + # This program and the accompanying materials are made available under the + # terms of the Eclipse Public License 2.0 which is available at + # https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0 + # which is available at https://www.apache.org/licenses/LICENSE-2.0. + # + # SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 + # + # Contributors: + # Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation + #=============================================================================*/ + +package org.eclipse.statet.docmlet.base.core; + +import static org.eclipse.statet.jcommons.text.core.SearchPattern.PREFIX_MATCH; +import static org.eclipse.statet.jcommons.text.core.SearchPattern.SUBSTRING_MATCH; +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; + +import org.junit.Test; + +import org.eclipse.statet.jcommons.lang.NonNullByDefault; +import org.eclipse.statet.jcommons.text.core.SearchPattern; + + +@NonNullByDefault +public class DocmlSearchPatternTest { + // Copy of DocmlSearchPatternTest + + + public DocmlSearchPatternTest() { + } + + + protected DocmlSearchPattern createPattern(final int rules) { + return new DocmlSearchPattern(rules, ""); + } + + + @Test + public void matches_Prefix() { + final SearchPattern pattern= createPattern(PREFIX_MATCH); + + pattern.setPattern(""); + assertEquals(PREFIX_MATCH, pattern.matches("a")); + assertEquals(PREFIX_MATCH, pattern.matches("abc")); + + pattern.setPattern("a"); + assertEquals(PREFIX_MATCH, pattern.matches("a")); + assertEquals(PREFIX_MATCH, pattern.matches("abc")); + assertEquals(0, pattern.matches("xabcxabc")); + assertEquals(0, pattern.matches("xbc")); + + pattern.setPattern("ab"); + assertEquals(0, pattern.matches("a")); + assertEquals(PREFIX_MATCH, pattern.matches("abc")); + assertEquals(0, pattern.matches("xabcxabc")); + assertEquals(0, pattern.matches("xbc")); + + pattern.setPattern("bc"); + assertEquals(0, pattern.matches("a")); + assertEquals(0, pattern.matches("abc")); + assertEquals(0, pattern.matches("xabcxabc")); + assertEquals(0, pattern.matches("xbc")); + } + + @Test + public void matches_Prefix_CaseInsensitive() { + final SearchPattern pattern= createPattern(PREFIX_MATCH); + + pattern.setPattern("a"); + assertEquals(PREFIX_MATCH, pattern.matches("A")); + assertEquals(PREFIX_MATCH, pattern.matches("Abc")); + assertEquals(0, pattern.matches("xAbcxabc")); + + pattern.setPattern("A"); + assertEquals(PREFIX_MATCH, pattern.matches("a")); + assertEquals(PREFIX_MATCH, pattern.matches("abc")); + assertEquals(0, pattern.matches("xabcxabc")); + + pattern.setPattern("ab"); + assertEquals(0, pattern.matches("A")); + assertEquals(PREFIX_MATCH, pattern.matches("Abc")); + assertEquals(PREFIX_MATCH, pattern.matches("ABc")); + assertEquals(PREFIX_MATCH, pattern.matches("aBc")); + assertEquals(0, pattern.matches("xAbcxAbc")); + assertEquals(0, pattern.matches("xABcxABc")); + assertEquals(0, pattern.matches("xaBcxaBc")); + + pattern.setPattern("Ab"); + assertEquals(0, pattern.matches("A")); + assertEquals(PREFIX_MATCH, pattern.matches("abc")); + assertEquals(PREFIX_MATCH, pattern.matches("Abc")); + assertEquals(PREFIX_MATCH, pattern.matches("ABc")); + assertEquals(PREFIX_MATCH, pattern.matches("aBc")); + assertEquals(0, pattern.matches("xabcxabc")); + assertEquals(0, pattern.matches("xAbcxAbc")); + assertEquals(0, pattern.matches("xABcxABc")); + assertEquals(0, pattern.matches("xaBcxaBc")); + + pattern.setPattern("aB"); + assertEquals(0, pattern.matches("a")); + assertEquals(PREFIX_MATCH, pattern.matches("abc")); + assertEquals(PREFIX_MATCH, pattern.matches("Abc")); + assertEquals(PREFIX_MATCH, pattern.matches("ABc")); + assertEquals(PREFIX_MATCH, pattern.matches("aBc")); + assertEquals(0, pattern.matches("xabcxabc")); + assertEquals(0, pattern.matches("xAbcxAbc")); + assertEquals(0, pattern.matches("xABcxABc")); + assertEquals(0, pattern.matches("xaBcxaBc")); + + pattern.setPattern("bc"); + assertEquals(0, pattern.matches("Abc")); + assertEquals(0, pattern.matches("aBc")); + assertEquals(0, pattern.matches("abC")); + assertEquals(0, pattern.matches("xAbcxAbc")); + assertEquals(0, pattern.matches("xaBcxaBc")); + assertEquals(0, pattern.matches("xabCxabC")); + } + + @Test + public void matches_Substring() { + final SearchPattern pattern= createPattern(SUBSTRING_MATCH); + + pattern.setPattern(""); + assertEquals(PREFIX_MATCH, pattern.matches("a")); + assertEquals(PREFIX_MATCH, pattern.matches("abc")); + + pattern.setPattern("a"); + assertEquals(PREFIX_MATCH, pattern.matches("a")); + assertEquals(PREFIX_MATCH, pattern.matches("abc")); + assertEquals(SUBSTRING_MATCH, pattern.matches("xabcxabc")); + assertEquals(0, pattern.matches("xbc")); + + pattern.setPattern("ab"); + assertEquals(0, pattern.matches("a")); + assertEquals(PREFIX_MATCH, pattern.matches("abc")); + assertEquals(SUBSTRING_MATCH, pattern.matches("xabcxabc")); + assertEquals(0, pattern.matches("xbc")); + + pattern.setPattern("bc"); + assertEquals(0, pattern.matches("a")); + assertEquals(SUBSTRING_MATCH, pattern.matches("abc")); + assertEquals(SUBSTRING_MATCH, pattern.matches("xabcxabc")); + assertEquals(SUBSTRING_MATCH, pattern.matches("xbc")); + assertEquals(0, pattern.matches("xbxc")); + } + + @Test + public void matches_Substring_CaseInsensitive() { + final SearchPattern pattern= createPattern(SUBSTRING_MATCH); + + pattern.setPattern("a"); + assertEquals(PREFIX_MATCH, pattern.matches("A")); + assertEquals(PREFIX_MATCH, pattern.matches("Abc")); + assertEquals(SUBSTRING_MATCH, pattern.matches("xAbcxabc")); + + pattern.setPattern("A"); + assertEquals(PREFIX_MATCH, pattern.matches("a")); + assertEquals(PREFIX_MATCH, pattern.matches("abc")); + assertEquals(SUBSTRING_MATCH, pattern.matches("xabcxabc")); + + pattern.setPattern("ab"); + assertEquals(0, pattern.matches("A")); + assertEquals(PREFIX_MATCH, pattern.matches("Abc")); + assertEquals(PREFIX_MATCH, pattern.matches("ABc")); + assertEquals(PREFIX_MATCH, pattern.matches("aBc")); + assertEquals(SUBSTRING_MATCH, pattern.matches("xAbcxAbc")); + assertEquals(SUBSTRING_MATCH, pattern.matches("xABcxABc")); + assertEquals(SUBSTRING_MATCH, pattern.matches("xaBcxaBc")); + + pattern.setPattern("Ab"); + assertEquals(0, pattern.matches("A")); + assertEquals(PREFIX_MATCH, pattern.matches("abc")); + assertEquals(PREFIX_MATCH, pattern.matches("Abc")); + assertEquals(PREFIX_MATCH, pattern.matches("ABc")); + assertEquals(PREFIX_MATCH, pattern.matches("aBc")); + assertEquals(SUBSTRING_MATCH, pattern.matches("xabcxabc")); + assertEquals(SUBSTRING_MATCH, pattern.matches("xAbcxAbc")); + assertEquals(SUBSTRING_MATCH, pattern.matches("xABcxABc")); + assertEquals(SUBSTRING_MATCH, pattern.matches("xaBcxaBc")); + + pattern.setPattern("aB"); + assertEquals(0, pattern.matches("a")); + assertEquals(PREFIX_MATCH, pattern.matches("abc")); + assertEquals(PREFIX_MATCH, pattern.matches("Abc")); + assertEquals(PREFIX_MATCH, pattern.matches("ABc")); + assertEquals(PREFIX_MATCH, pattern.matches("aBc")); + assertEquals(SUBSTRING_MATCH, pattern.matches("xabcxabc")); + assertEquals(SUBSTRING_MATCH, pattern.matches("xAbcxAbc")); + assertEquals(SUBSTRING_MATCH, pattern.matches("xABcxABc")); + assertEquals(SUBSTRING_MATCH, pattern.matches("xaBcxaBc")); + + pattern.setPattern("bc"); + assertEquals(SUBSTRING_MATCH, pattern.matches("Abc")); + assertEquals(SUBSTRING_MATCH, pattern.matches("aBc")); + assertEquals(SUBSTRING_MATCH, pattern.matches("abC")); + assertEquals(SUBSTRING_MATCH, pattern.matches("xAbcxAbc")); + assertEquals(SUBSTRING_MATCH, pattern.matches("xaBcxaBc")); + assertEquals(SUBSTRING_MATCH, pattern.matches("xabCxabC")); + } + + + @Test + public void getMatchingRegions_Prefix() { + final SearchPattern pattern= createPattern(PREFIX_MATCH); + + pattern.setPattern(""); + assertNull( + pattern.getMatchingRegions("a", PREFIX_MATCH) ); + assertNull( + pattern.getMatchingRegions("abc", PREFIX_MATCH) ); + + pattern.setPattern("a"); + assertArrayEquals(new int[] { 0, 1 }, + pattern.getMatchingRegions("a", PREFIX_MATCH) ); + assertArrayEquals(new int[] { 0, 1 }, + pattern.getMatchingRegions("abc", PREFIX_MATCH) ); + + pattern.setPattern("ab"); + assertArrayEquals(new int[] { 0, 2 }, + pattern.getMatchingRegions("abc", PREFIX_MATCH) ); + } + + @Test + public void getMatchingRegions_Prefix_CaseInsensitive() { + final SearchPattern pattern= createPattern(PREFIX_MATCH); + + pattern.setPattern("a"); + assertArrayEquals(new int[] { 0, 1 }, + pattern.getMatchingRegions("A", PREFIX_MATCH) ); + assertArrayEquals(new int[] { 0, 1 }, + pattern.getMatchingRegions("Abc", PREFIX_MATCH) ); + + pattern.setPattern("A"); + assertArrayEquals(new int[] { 0, 1 }, + pattern.getMatchingRegions("a", PREFIX_MATCH) ); + assertArrayEquals(new int[] { 0, 1 }, + pattern.getMatchingRegions("abc", PREFIX_MATCH) ); + + pattern.setPattern("ab"); + assertArrayEquals(new int[] { 0, 2 }, + pattern.getMatchingRegions("Abc", PREFIX_MATCH) ); + assertArrayEquals(new int[] { 0, 2 }, + pattern.getMatchingRegions("aBc", PREFIX_MATCH) ); + assertArrayEquals(new int[] { 0, 2 }, + pattern.getMatchingRegions("ABc", PREFIX_MATCH) ); + + pattern.setPattern("Ab"); + assertArrayEquals(new int[] { 0, 2 }, + pattern.getMatchingRegions("abc", PREFIX_MATCH) ); + assertArrayEquals(new int[] { 0, 2 }, + pattern.getMatchingRegions("aBc", PREFIX_MATCH) ); + assertArrayEquals(new int[] { 0, 2 }, + pattern.getMatchingRegions("ABc", PREFIX_MATCH) ); + + pattern.setPattern("aB"); + assertArrayEquals(new int[] { 0, 2 }, + pattern.getMatchingRegions("abc", PREFIX_MATCH) ); + assertArrayEquals(new int[] { 0, 2 }, + pattern.getMatchingRegions("Abc", PREFIX_MATCH) ); + assertArrayEquals(new int[] { 0, 2 }, + pattern.getMatchingRegions("ABc", PREFIX_MATCH) ); + } + + @Test + public void getMatchingRegions_Substring() { + final SearchPattern pattern= createPattern(SUBSTRING_MATCH); + + pattern.setPattern("a"); + assertArrayEquals(new int[] { 1, 2, 5, 6 }, + pattern.getMatchingRegions("xabcxabc", SUBSTRING_MATCH) ); + + pattern.setPattern("ab"); + assertArrayEquals(new int[] { 1, 3, 5, 7 }, + pattern.getMatchingRegions("xabcxabc", SUBSTRING_MATCH) ); + + pattern.setPattern("bc"); + assertArrayEquals(new int[] { 1, 3 }, + pattern.getMatchingRegions("abc", SUBSTRING_MATCH) ); + assertArrayEquals(new int[] { 2, 4, 6, 8 }, + pattern.getMatchingRegions("xabcxabc", SUBSTRING_MATCH) ); + assertArrayEquals(new int[] { 1, 3 }, + pattern.getMatchingRegions("xbc", SUBSTRING_MATCH) ); + } + + @Test + public void getMatchingRegions_Substring_CaseInsensitive() { + final SearchPattern pattern= createPattern(SUBSTRING_MATCH); + + pattern.setPattern("a"); + assertArrayEquals(new int[] { 1, 2, 5, 6 }, + pattern.getMatchingRegions("xAbcxabc", SUBSTRING_MATCH) ); + assertArrayEquals(new int[] { 1, 2, 5, 6 }, + pattern.getMatchingRegions("xabcxAbc", SUBSTRING_MATCH) ); + assertArrayEquals(new int[] { 1, 2, 5, 6 }, + pattern.getMatchingRegions("xAbcxAbc", SUBSTRING_MATCH) ); + + pattern.setPattern("A"); + assertArrayEquals(new int[] { 1, 2, 5, 6 }, + pattern.getMatchingRegions("xabcxabc", SUBSTRING_MATCH) ); + assertArrayEquals(new int[] { 1, 2, 5, 6 }, + pattern.getMatchingRegions("xAbcxabc", SUBSTRING_MATCH) ); + assertArrayEquals(new int[] { 1, 2, 5, 6 }, + pattern.getMatchingRegions("xabcxAbc", SUBSTRING_MATCH) ); + + pattern.setPattern("ab"); + assertArrayEquals(new int[] { 1, 3, 5, 7 }, + pattern.getMatchingRegions("xAbcxaBc", SUBSTRING_MATCH) ); + assertArrayEquals(new int[] { 1, 3, 5, 7 }, + pattern.getMatchingRegions("xABcxabc", SUBSTRING_MATCH) ); + + pattern.setPattern("Ab"); + assertArrayEquals(new int[] { 1, 3, 5, 7 }, + pattern.getMatchingRegions("xAbcxaBc", SUBSTRING_MATCH) ); + assertArrayEquals(new int[] { 1, 3, 5, 7 }, + pattern.getMatchingRegions("xABcxabc", SUBSTRING_MATCH) ); + + pattern.setPattern("aB"); + assertArrayEquals(new int[] { 1, 3, 5, 7 }, + pattern.getMatchingRegions("xAbcxaBc", SUBSTRING_MATCH) ); + assertArrayEquals(new int[] { 1, 3, 5, 7 }, + pattern.getMatchingRegions("xABcxabc", SUBSTRING_MATCH) ); + + pattern.setPattern("bc"); + assertArrayEquals(new int[] { 1, 3 }, + pattern.getMatchingRegions("abc", SUBSTRING_MATCH) ); + assertArrayEquals(new int[] { 2, 4, 6, 8 }, + pattern.getMatchingRegions("xabcxabc", SUBSTRING_MATCH) ); + assertArrayEquals(new int[] { 1, 3 }, + pattern.getMatchingRegions("xbc", SUBSTRING_MATCH) ); + + pattern.setPattern("Bc"); + assertArrayEquals(new int[] { 1, 3 }, + pattern.getMatchingRegions("abC", SUBSTRING_MATCH) ); + assertArrayEquals(new int[] { 2, 4, 6, 8 }, + pattern.getMatchingRegions("xabcxabC", SUBSTRING_MATCH) ); + assertArrayEquals(new int[] { 1, 3 }, + pattern.getMatchingRegions("xbC", SUBSTRING_MATCH) ); + + pattern.setPattern("bC"); + assertArrayEquals(new int[] { 1, 3 }, + pattern.getMatchingRegions("aBc", SUBSTRING_MATCH) ); + assertArrayEquals(new int[] { 2, 4, 6, 8 }, + pattern.getMatchingRegions("xabcxaBc", SUBSTRING_MATCH) ); + assertArrayEquals(new int[] { 1, 3 }, + pattern.getMatchingRegions("xBc", SUBSTRING_MATCH) ); + } + +} diff --git a/docmlet/org.eclipse.statet.docmlet.base.core/.classpath b/docmlet/org.eclipse.statet.docmlet.base.core/.classpath new file mode 100644 index 00000000..7728a88c --- /dev/null +++ b/docmlet/org.eclipse.statet.docmlet.base.core/.classpath @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"> + <attributes> + <attribute name="annotationpath" value="/org.eclipse.statet/eea/"/> + </attributes> + </classpathentry> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"> + <attributes> + <attribute name="annotationpath" value="/org.eclipse.statet/eea/"/> + </attributes> + </classpathentry> + <classpathentry kind="src" path="src"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/docmlet/org.eclipse.statet.docmlet.base.core/.gitignore b/docmlet/org.eclipse.statet.docmlet.base.core/.gitignore new file mode 100644 index 00000000..09e3bc9b --- /dev/null +++ b/docmlet/org.eclipse.statet.docmlet.base.core/.gitignore @@ -0,0 +1,2 @@ +/bin/ +/target/ diff --git a/docmlet/org.eclipse.statet.docmlet.base.core/.project b/docmlet/org.eclipse.statet.docmlet.base.core/.project new file mode 100644 index 00000000..c9f29295 --- /dev/null +++ b/docmlet/org.eclipse.statet.docmlet.base.core/.project @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.statet.docmlet.base.core</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/docmlet/org.eclipse.statet.docmlet.base.core/.settings/org.eclipse.core.resources.prefs b/docmlet/org.eclipse.statet.docmlet.base.core/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 00000000..99f26c02 --- /dev/null +++ b/docmlet/org.eclipse.statet.docmlet.base.core/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/<project>=UTF-8 diff --git a/docmlet/org.eclipse.statet.docmlet.base.core/.settings/org.eclipse.core.runtime.prefs b/docmlet/org.eclipse.statet.docmlet.base.core/.settings/org.eclipse.core.runtime.prefs new file mode 100644 index 00000000..5a0ad22d --- /dev/null +++ b/docmlet/org.eclipse.statet.docmlet.base.core/.settings/org.eclipse.core.runtime.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +line.separator=\n diff --git a/docmlet/org.eclipse.statet.docmlet.base.core/.settings/org.eclipse.jdt.core.prefs b/docmlet/org.eclipse.statet.docmlet.base.core/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..694c6ff6 --- /dev/null +++ b/docmlet/org.eclipse.statet.docmlet.base.core/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,336 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.codeComplete.argumentPrefixes= +org.eclipse.jdt.core.codeComplete.argumentSuffixes= +org.eclipse.jdt.core.codeComplete.fieldPrefixes= +org.eclipse.jdt.core.codeComplete.fieldSuffixes= +org.eclipse.jdt.core.codeComplete.localPrefixes= +org.eclipse.jdt.core.codeComplete.localSuffixes= +org.eclipse.jdt.core.codeComplete.staticFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFieldSuffixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes= +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false +org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false +org.eclipse.jdt.core.formatter.align_with_spaces=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=32 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_module_statements=16 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=85 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0 +org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=2 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=0 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=2 +org.eclipse.jdt.core.formatter.blank_lines_before_package=1 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=false +org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false +org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=false +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=false +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert +org.eclipse.jdt.core.formatter.comment.line_length=100 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=false +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=2 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=4 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.lineSplit=100 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines +org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=tab +org.eclipse.jdt.core.formatter.tabulation.size=4 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=false +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true +org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/docmlet/org.eclipse.statet.docmlet.base.core/.settings/org.eclipse.jdt.ui.prefs b/docmlet/org.eclipse.statet.docmlet.base.core/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 00000000..57284e5a --- /dev/null +++ b/docmlet/org.eclipse.statet.docmlet.base.core/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,135 @@ +cleanup.add_default_serial_version_id=true +cleanup.add_generated_serial_version_id=false +cleanup.add_missing_annotations=true +cleanup.add_missing_deprecated_annotations=true +cleanup.add_missing_methods=false +cleanup.add_missing_nls_tags=false +cleanup.add_missing_override_annotations=true +cleanup.add_missing_override_annotations_interface_methods=true +cleanup.add_serial_version_id=false +cleanup.always_use_blocks=true +cleanup.always_use_parentheses_in_expressions=true +cleanup.always_use_this_for_non_static_field_access=true +cleanup.always_use_this_for_non_static_method_access=false +cleanup.convert_functional_interfaces=false +cleanup.convert_to_enhanced_for_loop=false +cleanup.correct_indentation=false +cleanup.format_source_code=false +cleanup.format_source_code_changes_only=false +cleanup.insert_inferred_type_arguments=false +cleanup.make_local_variable_final=true +cleanup.make_parameters_final=true +cleanup.make_private_fields_final=true +cleanup.make_type_abstract_if_missing_method=false +cleanup.make_variable_declarations_final=true +cleanup.never_use_blocks=false +cleanup.never_use_parentheses_in_expressions=false +cleanup.organize_imports=true +cleanup.qualify_static_field_accesses_with_declaring_class=false +cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=false +cleanup.qualify_static_member_accesses_with_declaring_class=true +cleanup.qualify_static_method_accesses_with_declaring_class=false +cleanup.remove_private_constructors=true +cleanup.remove_redundant_modifiers=false +cleanup.remove_redundant_semicolons=true +cleanup.remove_redundant_type_arguments=true +cleanup.remove_trailing_whitespaces=false +cleanup.remove_trailing_whitespaces_all=true +cleanup.remove_trailing_whitespaces_ignore_empty=false +cleanup.remove_unnecessary_casts=true +cleanup.remove_unnecessary_nls_tags=true +cleanup.remove_unused_imports=true +cleanup.remove_unused_local_variables=false +cleanup.remove_unused_private_fields=true +cleanup.remove_unused_private_members=false +cleanup.remove_unused_private_methods=true +cleanup.remove_unused_private_types=true +cleanup.sort_members=false +cleanup.sort_members_all=false +cleanup.use_anonymous_class_creation=false +cleanup.use_blocks=true +cleanup.use_blocks_only_for_return_and_throw=false +cleanup.use_lambda=true +cleanup.use_parentheses_in_expressions=false +cleanup.use_this_for_non_static_field_access=true +cleanup.use_this_for_non_static_field_access_only_if_necessary=false +cleanup.use_this_for_non_static_method_access=true +cleanup.use_this_for_non_static_method_access_only_if_necessary=true +cleanup.use_type_arguments=false +cleanup_profile=_StatET +cleanup_settings_version=2 +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_profile=_StatET +formatter_settings_version=14 +org.eclipse.jdt.ui.exception.name=e +org.eclipse.jdt.ui.gettersetter.use.is=true +org.eclipse.jdt.ui.ignorelowercasenames=true +org.eclipse.jdt.ui.importorder=\#;java;javax;com.ibm.icu;org.osgi;org.eclipse;;org.eclipse.statet.jcommons;org.eclipse.statet.ecommons;org.eclipse.statet; +org.eclipse.jdt.ui.javadoc=true +org.eclipse.jdt.ui.keywordthis=true +org.eclipse.jdt.ui.ondemandthreshold=99 +org.eclipse.jdt.ui.overrideannotation=true +org.eclipse.jdt.ui.staticondemandthreshold=99 +org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\#\n \# Copyright (c) ${year} ${user} and others.\n \# \n \# This program and the accompanying materials are made available under the\n \# terms of the Eclipse Public License 2.0 which is available at\n \# https\://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0\n \# which is available at https\://www.apache.org/licenses/LICENSE-2.0.\n \# \n \# SPDX-License-Identifier\: EPL-2.0 OR Apache-2.0\n \# \n \# Contributors\:\n \# ${user} - initial API and implementation\n \#\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=\=*/</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * \n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment"/><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="false" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates> +sp_cleanup.add_default_serial_version_id=true +sp_cleanup.add_generated_serial_version_id=false +sp_cleanup.add_missing_annotations=true +sp_cleanup.add_missing_deprecated_annotations=true +sp_cleanup.add_missing_methods=false +sp_cleanup.add_missing_nls_tags=false +sp_cleanup.add_missing_override_annotations=true +sp_cleanup.add_missing_override_annotations_interface_methods=true +sp_cleanup.add_serial_version_id=false +sp_cleanup.always_use_blocks=true +sp_cleanup.always_use_parentheses_in_expressions=true +sp_cleanup.always_use_this_for_non_static_field_access=true +sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_functional_interfaces=false +sp_cleanup.convert_to_enhanced_for_loop=false +sp_cleanup.correct_indentation=false +sp_cleanup.format_source_code=false +sp_cleanup.format_source_code_changes_only=false +sp_cleanup.insert_inferred_type_arguments=false +sp_cleanup.make_local_variable_final=true +sp_cleanup.make_parameters_final=true +sp_cleanup.make_private_fields_final=true +sp_cleanup.make_type_abstract_if_missing_method=false +sp_cleanup.make_variable_declarations_final=false +sp_cleanup.never_use_blocks=false +sp_cleanup.never_use_parentheses_in_expressions=false +sp_cleanup.on_save_use_additional_actions=true +sp_cleanup.organize_imports=true +sp_cleanup.qualify_static_field_accesses_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_with_declaring_class=true +sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_redundant_modifiers=false +sp_cleanup.remove_redundant_semicolons=true +sp_cleanup.remove_redundant_type_arguments=true +sp_cleanup.remove_trailing_whitespaces=false +sp_cleanup.remove_trailing_whitespaces_all=false +sp_cleanup.remove_trailing_whitespaces_ignore_empty=true +sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_nls_tags=false +sp_cleanup.remove_unused_imports=false +sp_cleanup.remove_unused_local_variables=false +sp_cleanup.remove_unused_private_fields=false +sp_cleanup.remove_unused_private_members=false +sp_cleanup.remove_unused_private_methods=false +sp_cleanup.remove_unused_private_types=true +sp_cleanup.sort_members=false +sp_cleanup.sort_members_all=false +sp_cleanup.use_anonymous_class_creation=false +sp_cleanup.use_blocks=true +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_lambda=false +sp_cleanup.use_parentheses_in_expressions=false +sp_cleanup.use_this_for_non_static_field_access=true +sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false +sp_cleanup.use_this_for_non_static_method_access=true +sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true +sp_cleanup.use_type_arguments=false diff --git a/docmlet/org.eclipse.statet.docmlet.base.core/META-INF/MANIFEST.MF b/docmlet/org.eclipse.statet.docmlet.base.core/META-INF/MANIFEST.MF new file mode 100644 index 00000000..1e40aa4c --- /dev/null +++ b/docmlet/org.eclipse.statet.docmlet.base.core/META-INF/MANIFEST.MF @@ -0,0 +1,15 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-SymbolicName: org.eclipse.statet.docmlet.base.core;singleton:=true +Bundle-Version: 4.1.0.qualifier +Bundle-Vendor: Eclipse StatET +Bundle-Name: StatET DocMLET - Base - Core (Incubation) +Bundle-ActivationPolicy: lazy +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Require-Bundle: org.eclipse.statet.ecommons.runtime.core;bundle-version="[4.1.0,4.2.0)";visibility:=reexport, + org.eclipse.core.runtime;bundle-version="3.15.0";visibility:=reexport, + org.eclipse.statet.ltk.core;bundle-version="[4.1.0,4.2.0)";visibility:=reexport +Import-Package: org.eclipse.statet.jcommons.collections;version="4.1.0", + org.eclipse.statet.jcommons.lang;version="4.1.0", + org.eclipse.statet.jcommons.text.core;version="4.1.0" +Export-Package: org.eclipse.statet.docmlet.base.core diff --git a/docmlet/org.eclipse.statet.docmlet.base.core/about.html b/docmlet/org.eclipse.statet.docmlet.base.core/about.html new file mode 100644 index 00000000..f0947381 --- /dev/null +++ b/docmlet/org.eclipse.statet.docmlet.base.core/about.html @@ -0,0 +1,31 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> +<title>About</title> +</head> +<body lang="EN-US"> +<h2>About This Content</h2> + +<p>January 1, 2019</p> +<h3>License</h3> + +<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless + otherwise indicated below, the Content is provided to you under the terms and conditions of the + Eclipse Public License Version 2.0 ("EPL"), or the Apache License, Version 2.0 (AL). + A copy of the EPL is available at <a href="https://www.eclipse.org/legal/epl-2.0" + >https://www.eclipse.org/legal/epl-2.0</a>. For purposes of the EPL, "Program" will + mean the Content. A copy of the AL is available at <a href="https://www.apache.org/licenses/LICENSE-2.0" + >https://www.apache.org/licenses/LICENSE-2.0</a>.</p> + +<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being + redistributed by another party ("Redistributor") and different terms and conditions + may apply to your use of any object code in the Content. Check the Redistributor's license that + was provided with the Content. If no such license exists, contact the Redistributor. Unless + otherwise indicated below, the terms and conditions of the EPL or AL still apply to any source + code in the Content and such source code may be obtained at <a href="https://www.eclipse.org/" + >https://www.eclipse.org</a>.</p> + +</body> +</html> diff --git a/docmlet/org.eclipse.statet.docmlet.base.core/build.properties b/docmlet/org.eclipse.statet.docmlet.base.core/build.properties new file mode 100644 index 00000000..9f02c9f9 --- /dev/null +++ b/docmlet/org.eclipse.statet.docmlet.base.core/build.properties @@ -0,0 +1,8 @@ +source..= src/ +output..= bin/ +javacDefaultEncoding..= UTF-8 + +bin.includes= META-INF/,\ + .,\ + about.html +src.includes= .settings/org.eclipse.core.resources.prefs diff --git a/docmlet/org.eclipse.statet.docmlet.base.core/src/org/eclipse/statet/docmlet/base/core/DocmlSearchPattern.java b/docmlet/org.eclipse.statet.docmlet.base.core/src/org/eclipse/statet/docmlet/base/core/DocmlSearchPattern.java new file mode 100644 index 00000000..cb979bbc --- /dev/null +++ b/docmlet/org.eclipse.statet.docmlet.base.core/src/org/eclipse/statet/docmlet/base/core/DocmlSearchPattern.java @@ -0,0 +1,128 @@ +/*=============================================================================# + # Copyright (c) 2019 Stephan Wahlbrink <sw@wahlbrink.eu> and others. + # + # This program and the accompanying materials are made available under the + # terms of the Eclipse Public License 2.0 which is available at + # https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0 + # which is available at https://www.apache.org/licenses/LICENSE-2.0. + # + # SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 + # + # Contributors: + # Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation + #=============================================================================*/ + +package org.eclipse.statet.docmlet.base.core; + +import org.eclipse.statet.jcommons.lang.NonNullByDefault; +import org.eclipse.statet.jcommons.lang.Nullable; +import org.eclipse.statet.jcommons.text.core.SearchPattern; + + +@NonNullByDefault +public class DocmlSearchPattern extends SearchPattern { + + + public static final int LABEL_SUBSTRING_MATCH= 1 << 21; + + private static final int NOT_CHECKED= -1; + private static final int NOT_AVAILABLE= -2; + + + private int labelPrefixIdx= NOT_CHECKED; + + + public DocmlSearchPattern(final int rules, final String pattern) { + super(rules, pattern); + } + + + @Override + public int getSupportedRules() { + return (PREFIX_MATCH | SUBSTRING_MATCH | LABEL_SUBSTRING_MATCH); + } + + @Override + protected void onPatternChanged(final String pattern) { + this.labelPrefixIdx= NOT_CHECKED; + } + + + private int getLabelPrefixIdx() { + int labelPrefixIdx= this.labelPrefixIdx; + if (labelPrefixIdx == NOT_CHECKED) { + labelPrefixIdx= NOT_AVAILABLE; + final char[] patternChars= getPatternChars(); + for (int idx= 0; idx < patternChars.length; idx++) { + if (patternChars[idx] == ':') { + labelPrefixIdx= idx; + break; + } + } + this.labelPrefixIdx= labelPrefixIdx; + } + return labelPrefixIdx; + } + + + @Override + public int matches(final String name) { + final int allowedRules= getRules(); + char[] patternChars= null; + char[] nameChars= null; + + final int patternLength= getPattern().length(); + final int lDiff= name.length() - patternLength; + if (lDiff >= 0) { + if ((allowedRules & PREFIX_MATCH) != 0 + && (patternLength == 0 + || isPrefixMatch(patternChars= getPatternChars(), 0, patternChars.length, + name, 0, name.length() ) )) { + return PREFIX_MATCH; + } + if (lDiff > 0) { + if ((allowedRules & LABEL_SUBSTRING_MATCH) != 0) { + final int labelPrefixIdx= getLabelPrefixIdx() + 1; + if (labelPrefixIdx > 0) { + if (isPrefixMatch(patternChars= getPatternChars(), 0, labelPrefixIdx, + nameChars= getNameChars(name), 0, name.length() ) + && isSubstringMatch(patternChars, labelPrefixIdx, patternChars.length, + nameChars, labelPrefixIdx + 1, nameChars.length )) { + return LABEL_SUBSTRING_MATCH; + } + } + } + if ((allowedRules & SUBSTRING_MATCH) != 0 + && isSubstringMatch(patternChars= getPatternChars(), 0, patternChars.length, + nameChars= getNameChars(name), 1, nameChars.length )) { + return SUBSTRING_MATCH; + } + } + } + return 0; + } + + + @Override + public int @Nullable [] getMatchingRegions(final String name, final int matchRule) { + switch (matchRule) { + case LABEL_SUBSTRING_MATCH: + return getLabelSubstringMatchingRegions(name); + default: + return super.getMatchingRegions(name, matchRule); + } + } + + private int[] getLabelSubstringMatchingRegions(final String name) { + final char[] patternChars; + final char[] nameChars; + + final int labelPrefixIdx= getLabelPrefixIdx() + 1; + this.tmpRegions.clear(); + addPrefixMatch(0, labelPrefixIdx, 0); + addSubstringMatches(patternChars= getPatternChars(), labelPrefixIdx, patternChars.length, + nameChars= getNameChars(name), labelPrefixIdx + 1, nameChars.length ); + return this.tmpRegions.toArray(); + } + +} diff --git a/docmlet/org.eclipse.statet.docmlet.base.ui/META-INF/MANIFEST.MF b/docmlet/org.eclipse.statet.docmlet.base.ui/META-INF/MANIFEST.MF index 0e4e53f2..b51b92cb 100644 --- a/docmlet/org.eclipse.statet.docmlet.base.ui/META-INF/MANIFEST.MF +++ b/docmlet/org.eclipse.statet.docmlet.base.ui/META-INF/MANIFEST.MF @@ -8,8 +8,7 @@ Bundle-ActivationPolicy: lazy Bundle-Activator: org.eclipse.statet.internal.docmlet.base.ui.DocmlBaseUIPlugin Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Require-Bundle: org.eclipse.statet.ecommons.runtime.core;bundle-version="[4.1.0,4.2.0)";visibility:=reexport, - org.eclipse.core.runtime;bundle-version="3.15.0", +Require-Bundle: org.eclipse.statet.docmlet.base.core;bundle-version="[4.1.0,4.2.0)";visibility:=reexport, org.eclipse.statet.ecommons.debug.core, org.eclipse.ui, org.eclipse.statet.ecommons.uimisc;bundle-version="[4.1.0,4.2.0)", diff --git a/docmlet/org.eclipse.statet.docmlet.base.ui/icons/obj_16/label-def.png b/docmlet/org.eclipse.statet.docmlet.base.ui/icons/obj_16/label-def.png Binary files differnew file mode 100644 index 00000000..3f725040 --- /dev/null +++ b/docmlet/org.eclipse.statet.docmlet.base.ui/icons/obj_16/label-def.png diff --git a/docmlet/org.eclipse.statet.docmlet.base.ui/icons/obj_16/label-def@x2.png b/docmlet/org.eclipse.statet.docmlet.base.ui/icons/obj_16/label-def@x2.png Binary files differnew file mode 100644 index 00000000..8cab28c8 --- /dev/null +++ b/docmlet/org.eclipse.statet.docmlet.base.ui/icons/obj_16/label-def@x2.png diff --git a/docmlet/org.eclipse.statet.docmlet.base.ui/icons/obj_16/label-ref.png b/docmlet/org.eclipse.statet.docmlet.base.ui/icons/obj_16/label-ref.png Binary files differnew file mode 100644 index 00000000..06de7090 --- /dev/null +++ b/docmlet/org.eclipse.statet.docmlet.base.ui/icons/obj_16/label-ref.png diff --git a/docmlet/org.eclipse.statet.docmlet.base.ui/icons/obj_16/label-ref@x2.png b/docmlet/org.eclipse.statet.docmlet.base.ui/icons/obj_16/label-ref@x2.png Binary files differnew file mode 100644 index 00000000..1a297074 --- /dev/null +++ b/docmlet/org.eclipse.statet.docmlet.base.ui/icons/obj_16/label-ref@x2.png diff --git a/docmlet/org.eclipse.statet.docmlet.base.ui/icons/obj_16/label-text.png b/docmlet/org.eclipse.statet.docmlet.base.ui/icons/obj_16/label-text.png Binary files differnew file mode 100644 index 00000000..acbc5fa7 --- /dev/null +++ b/docmlet/org.eclipse.statet.docmlet.base.ui/icons/obj_16/label-text.png diff --git a/docmlet/org.eclipse.statet.docmlet.base.ui/icons/obj_16/label-text@x2.png b/docmlet/org.eclipse.statet.docmlet.base.ui/icons/obj_16/label-text@x2.png Binary files differnew file mode 100644 index 00000000..a7ef675a --- /dev/null +++ b/docmlet/org.eclipse.statet.docmlet.base.ui/icons/obj_16/label-text@x2.png diff --git a/docmlet/org.eclipse.statet.docmlet.base.ui/src/org/eclipse/statet/docmlet/base/ui/DocmlBaseUIResources.java b/docmlet/org.eclipse.statet.docmlet.base.ui/src/org/eclipse/statet/docmlet/base/ui/DocmlBaseUIResources.java index 65eb2ba5..d302fa3d 100644 --- a/docmlet/org.eclipse.statet.docmlet.base.ui/src/org/eclipse/statet/docmlet/base/ui/DocmlBaseUIResources.java +++ b/docmlet/org.eclipse.statet.docmlet.base.ui/src/org/eclipse/statet/docmlet/base/ui/DocmlBaseUIResources.java @@ -18,29 +18,38 @@ import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.resource.ImageRegistry; import org.eclipse.swt.graphics.Image; +import org.eclipse.statet.jcommons.lang.NonNullByDefault; +import org.eclipse.statet.jcommons.lang.Nullable; + import org.eclipse.statet.internal.docmlet.base.ui.DocmlBaseUIPlugin; +@NonNullByDefault public class DocmlBaseUIResources { private static final String NS= "org.eclipse.statet.docmlet.base"; //$NON-NLS-1$ - public static final String OBJ_PREAMBLE_IMAGE_ID= NS + "/image/obj/Preamble"; //$NON-NLS-1$ + public static final String OBJ_PREAMBLE_IMAGE_ID= NS + "/image/obj/Preamble"; //$NON-NLS-1$ + + public static final String OBJ_HEADING1_IMAGE_ID= NS + "/image/obj/Sectioning-H1"; //$NON-NLS-1$ + public static final String OBJ_HEADING2_IMAGE_ID= NS + "/image/obj/Sectioning-H2"; //$NON-NLS-1$ + public static final String OBJ_HEADING3_IMAGE_ID= NS + "/image/obj/Sectioning-H3"; //$NON-NLS-1$ + public static final String OBJ_HEADING4_IMAGE_ID= NS + "/image/obj/Sectioning-H4"; //$NON-NLS-1$ + public static final String OBJ_HEADING5_IMAGE_ID= NS + "/image/obj/Sectioning-H5"; //$NON-NLS-1$ + public static final String OBJ_HEADING6_IMAGE_ID= NS + "/image/obj/Sectioning-H6"; //$NON-NLS-1$ - public static final String OBJ_HEADING1_IMAGE_ID= NS + "/image/obj/Sectioning-H1"; //$NON-NLS-1$ - public static final String OBJ_HEADING2_IMAGE_ID= NS + "/image/obj/Sectioning-H2"; //$NON-NLS-1$ - public static final String OBJ_HEADING3_IMAGE_ID= NS + "/image/obj/Sectioning-H3"; //$NON-NLS-1$ - public static final String OBJ_HEADING4_IMAGE_ID= NS + "/image/obj/Sectioning-H4"; //$NON-NLS-1$ - public static final String OBJ_HEADING5_IMAGE_ID= NS + "/image/obj/Sectioning-H5"; //$NON-NLS-1$ - public static final String OBJ_HEADING6_IMAGE_ID= NS + "/image/obj/Sectioning-H6"; //$NON-NLS-1$ + public static final String OBJ_LABEL_DEF_IMAGE_ID= NS + "/image/obj/Label-Def"; //$NON-NLS-1$ + public static final String OBJ_LABEL_REF_IMAGE_ID= NS + "/image/obj/Label-Ref"; //$NON-NLS-1$ + public static final String OBJ_LABEL_TEXT_IMAGE_ID= NS + "/image/obj/Label-Text"; //$NON-NLS-1$ - public static final String VIEW_MARKUP_HELP_IMAGE_ID= NS + "/image/view/MarkupHelp"; //$NON-NLS-1$ + public static final String VIEW_MARKUP_HELP_IMAGE_ID= NS + "/image/view/MarkupHelp"; //$NON-NLS-1$ - public static final String TOOL_PROCESS_IMAGE_ID= NS + "/image/tool/Process"; //$NON-NLS-1$ - public static final String TOOL_PROCESSANDPREVIEW_IMAGE_ID= NS + "/image/tool/ProcessAndPreview"; //$NON-NLS-1$ - public static final String TOOL_PREVIEW_IMAGE_ID= NS + "/image/tool/Preview"; //$NON-NLS-1$ + public static final String TOOL_PROCESS_IMAGE_ID= NS + "/image/tool/Process"; //$NON-NLS-1$ + public static final String TOOL_PROCESSANDPREVIEW_IMAGE_ID= + NS + "/image/tool/ProcessAndPreview"; //$NON-NLS-1$ + public static final String TOOL_PREVIEW_IMAGE_ID= NS + "/image/tool/Preview"; //$NON-NLS-1$ public static final DocmlBaseUIResources INSTANCE= new DocmlBaseUIResources(); @@ -53,11 +62,12 @@ public class DocmlBaseUIResources { this.registry= DocmlBaseUIPlugin.getInstance().getImageRegistry(); } - public ImageDescriptor getImageDescriptor(final String id) { + + public @Nullable ImageDescriptor getImageDescriptor(final String id) { return this.registry.getDescriptor(id); } - public Image getImage(final String id) { + public @Nullable Image getImage(final String id) { return this.registry.get(id); } diff --git a/docmlet/org.eclipse.statet.docmlet.base.ui/src/org/eclipse/statet/internal/docmlet/base/ui/DocmlBaseUIPlugin.java b/docmlet/org.eclipse.statet.docmlet.base.ui/src/org/eclipse/statet/internal/docmlet/base/ui/DocmlBaseUIPlugin.java index fe12e9d9..384a2496 100644 --- a/docmlet/org.eclipse.statet.docmlet.base.ui/src/org/eclipse/statet/internal/docmlet/base/ui/DocmlBaseUIPlugin.java +++ b/docmlet/org.eclipse.statet.docmlet.base.ui/src/org/eclipse/statet/internal/docmlet/base/ui/DocmlBaseUIPlugin.java @@ -126,6 +126,10 @@ public class DocmlBaseUIPlugin extends AbstractUIPlugin { util.register(DocmlBaseUIResources.OBJ_HEADING5_IMAGE_ID, ImageRegistryUtil.T_OBJ, "sectioning-5.png"); //$NON-NLS-1$ util.register(DocmlBaseUIResources.OBJ_HEADING6_IMAGE_ID, ImageRegistryUtil.T_OBJ, "sectioning-6.png"); //$NON-NLS-1$ + util.register(DocmlBaseUIResources.OBJ_LABEL_DEF_IMAGE_ID, ImageRegistryUtil.T_OBJ, "label-def.png"); //$NON-NLS-1$ + util.register(DocmlBaseUIResources.OBJ_LABEL_REF_IMAGE_ID, ImageRegistryUtil.T_OBJ, "label-ref.png"); //$NON-NLS-1$ + util.register(DocmlBaseUIResources.OBJ_LABEL_TEXT_IMAGE_ID, ImageRegistryUtil.T_OBJ, "label-text.png"); //$NON-NLS-1$ + util.register(DocmlBaseUIResources.VIEW_MARKUP_HELP_IMAGE_ID, ImageRegistryUtil.T_VIEW, "markup_help.png"); //$NON-NLS-1$ util.register(DocmlBaseUIResources.TOOL_PROCESS_IMAGE_ID, ImageRegistryUtil.T_TOOL, "process.png"); //$NON-NLS-1$ diff --git a/docmlet/org.eclipse.statet.docmlet.tex.core/META-INF/MANIFEST.MF b/docmlet/org.eclipse.statet.docmlet.tex.core/META-INF/MANIFEST.MF index 359f7c5d..12113150 100644 --- a/docmlet/org.eclipse.statet.docmlet.tex.core/META-INF/MANIFEST.MF +++ b/docmlet/org.eclipse.statet.docmlet.tex.core/META-INF/MANIFEST.MF @@ -8,8 +8,7 @@ Bundle-ActivationPolicy: lazy Bundle-Activator: org.eclipse.statet.internal.docmlet.tex.core.TexCorePlugin Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Require-Bundle: org.eclipse.statet.ecommons.runtime.core;bundle-version="[4.1.0,4.2.0)";visibility:=reexport, - org.eclipse.core.runtime;bundle-version="3.15.0";visibility:=reexport, +Require-Bundle: org.eclipse.statet.docmlet.base.core;bundle-version="[4.1.0,4.2.0)";visibility:=reexport, org.eclipse.statet.ecommons.preferences.core;visibility:=reexport, org.eclipse.statet.ecommons.text.core;visibility:=reexport, org.eclipse.core.filebuffers, diff --git a/docmlet/org.eclipse.statet.docmlet.tex.ui/icons/obj_16/label.png b/docmlet/org.eclipse.statet.docmlet.tex.ui/icons/obj_16/label.png Binary files differdeleted file mode 100644 index 59318c52..00000000 --- a/docmlet/org.eclipse.statet.docmlet.tex.ui/icons/obj_16/label.png +++ /dev/null diff --git a/docmlet/org.eclipse.statet.docmlet.tex.ui/src/org/eclipse/statet/docmlet/tex/ui/TexCommandLabelProvider.java b/docmlet/org.eclipse.statet.docmlet.tex.ui/src/org/eclipse/statet/docmlet/tex/ui/TexCommandLabelProvider.java index a31ba358..7c9c8d6c 100644 --- a/docmlet/org.eclipse.statet.docmlet.tex.ui/src/org/eclipse/statet/docmlet/tex/ui/TexCommandLabelProvider.java +++ b/docmlet/org.eclipse.statet.docmlet.tex.ui/src/org/eclipse/statet/docmlet/tex/ui/TexCommandLabelProvider.java @@ -27,9 +27,7 @@ public class TexCommandLabelProvider extends LabelProvider { @Override public Image getImage(final Object element) { if (element instanceof TexCommand) { - final TexUIResources texResources= TexUIResources.INSTANCE; - final String key= texResources.getCommandImageId((TexCommand) element); - return (key != null) ? texResources.getImage(key) : null; + return TexUIResources.INSTANCE.getCommandImage((TexCommand) element); } return null; } diff --git a/docmlet/org.eclipse.statet.docmlet.tex.ui/src/org/eclipse/statet/docmlet/tex/ui/TexLabelProvider.java b/docmlet/org.eclipse.statet.docmlet.tex.ui/src/org/eclipse/statet/docmlet/tex/ui/TexLabelProvider.java index f4b194d0..65fa8808 100644 --- a/docmlet/org.eclipse.statet.docmlet.tex.ui/src/org/eclipse/statet/docmlet/tex/ui/TexLabelProvider.java +++ b/docmlet/org.eclipse.statet.docmlet.tex.ui/src/org/eclipse/statet/docmlet/tex/ui/TexLabelProvider.java @@ -84,7 +84,7 @@ public class TexLabelProvider extends StyledCellLabelProvider implements Element public Image getImage(final TexNameAccess access) { if (access.getType() == TexElementName.LABEL) { - return getTexImage(TexUIResources.OBJ_LABEL_IMAGE_ID); + return getTexImage(DocmlBaseUIResources.OBJ_LABEL_REF_IMAGE_ID); } return null; } diff --git a/docmlet/org.eclipse.statet.docmlet.tex.ui/src/org/eclipse/statet/docmlet/tex/ui/TexUIResources.java b/docmlet/org.eclipse.statet.docmlet.tex.ui/src/org/eclipse/statet/docmlet/tex/ui/TexUIResources.java index c8bac454..dcb2cafe 100644 --- a/docmlet/org.eclipse.statet.docmlet.tex.ui/src/org/eclipse/statet/docmlet/tex/ui/TexUIResources.java +++ b/docmlet/org.eclipse.statet.docmlet.tex.ui/src/org/eclipse/statet/docmlet/tex/ui/TexUIResources.java @@ -20,23 +20,26 @@ import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.resource.ImageRegistry; import org.eclipse.swt.graphics.Image; +import org.eclipse.statet.jcommons.lang.NonNullByDefault; +import org.eclipse.statet.jcommons.lang.Nullable; + +import org.eclipse.statet.docmlet.base.ui.DocmlBaseUIResources; import org.eclipse.statet.docmlet.tex.core.commands.TexCommand; import org.eclipse.statet.internal.docmlet.tex.ui.TexUIPlugin; +@NonNullByDefault public class TexUIResources { private static final String NS= "org.eclipse.statet.docmlet.tex"; //$NON-NLS-1$ - public static final String OBJ_PART_IMAGE_ID= NS + "/image/obj/sectioning-part"; //$NON-NLS-1$ - public static final String OBJ_CHAPTER_IMAGE_ID= NS + "/image/obj/sectioning-chapter"; //$NON-NLS-1$ - public static final String OBJ_SECTION_IMAGE_ID= NS + "/image/obj/sectioning-section"; //$NON-NLS-1$ - public static final String OBJ_SUBSECTION_IMAGE_ID= NS + "/image/obj/sectioning-subsection"; //$NON-NLS-1$ - public static final String OBJ_SUBSUBSECTION_IMAGE_ID= NS + "/image/obj/sectioning-subsubsection"; //$NON-NLS-1$ - - public static final String OBJ_LABEL_IMAGE_ID= NS + "/image/obj/label"; //$NON-NLS-1$ + public static final String OBJ_PART_IMAGE_ID= NS + "/image/obj/sectioning-part"; //$NON-NLS-1$ + public static final String OBJ_CHAPTER_IMAGE_ID= NS + "/image/obj/sectioning-chapter"; //$NON-NLS-1$ + public static final String OBJ_SECTION_IMAGE_ID= NS + "/image/obj/sectioning-section"; //$NON-NLS-1$ + public static final String OBJ_SUBSECTION_IMAGE_ID= NS + "/image/obj/sectioning-subsection"; //$NON-NLS-1$ + public static final String OBJ_SUBSUBSECTION_IMAGE_ID= NS + "/image/obj/sectioning-subsubsection"; //$NON-NLS-1$ public static final TexUIResources INSTANCE= new TexUIResources(); @@ -51,19 +54,31 @@ public class TexUIResources { this.registry= TexUIPlugin.getInstance().getImageRegistry(); } - public ImageDescriptor getImageDescriptor(final String id) { + public @Nullable ImageDescriptor getImageDescriptor(final String id) { return this.registry.getDescriptor(id); } - public Image getImage(final String id) { + public @Nullable Image getImage(final String id) { return this.registry.get(id); } - public String getCommandImageId(final TexCommand command) { + public @Nullable String getCommandImageId(final TexCommand command) { if (this.commandImages == null) { this.commandImages= TexUIPlugin.getInstance().getCommandImages(); } return this.commandImages.get(command.getControlWord()); } + public @Nullable Image getCommandImage(final TexCommand command) { + Image image= null; + final String id= getCommandImageId(command); + if (id != null) { + image= this.registry.get(id); + if (image == null) { + image= DocmlBaseUIResources.INSTANCE.getImage(id); + } + } + return image; + } + } diff --git a/docmlet/org.eclipse.statet.docmlet.tex.ui/src/org/eclipse/statet/internal/docmlet/tex/ui/TexUIPlugin.java b/docmlet/org.eclipse.statet.docmlet.tex.ui/src/org/eclipse/statet/internal/docmlet/tex/ui/TexUIPlugin.java index 81134dd9..8ef22c48 100644 --- a/docmlet/org.eclipse.statet.docmlet.tex.ui/src/org/eclipse/statet/internal/docmlet/tex/ui/TexUIPlugin.java +++ b/docmlet/org.eclipse.statet.docmlet.tex.ui/src/org/eclipse/statet/internal/docmlet/tex/ui/TexUIPlugin.java @@ -38,6 +38,7 @@ import org.eclipse.statet.ecommons.text.ui.settings.TextStyleManager; import org.eclipse.statet.ecommons.ui.SharedUIResources; import org.eclipse.statet.ecommons.ui.util.ImageRegistryUtil; +import org.eclipse.statet.docmlet.base.ui.DocmlBaseUIResources; import org.eclipse.statet.docmlet.tex.core.TexCore; import org.eclipse.statet.docmlet.tex.ui.TexUI; import org.eclipse.statet.docmlet.tex.ui.TexUIResources; @@ -168,8 +169,6 @@ public class TexUIPlugin extends AbstractUIPlugin { util.register(TexUIResources.OBJ_SUBSECTION_IMAGE_ID, ImageRegistryUtil.T_OBJ, "sectioning-subsection.png"); util.register(TexUIResources.OBJ_SUBSUBSECTION_IMAGE_ID, ImageRegistryUtil.T_OBJ, "sectioning-subsubsection.png"); - util.register(TexUIResources.OBJ_LABEL_IMAGE_ID, ImageRegistryUtil.T_OBJ, "label.png"); - final Map<String, String> commandMap= new HashMap<>(); commandMap.put("S", TexUI.BUNDLE_ID + "/image/obj/c-00a7"); //$NON-NLS-1$ //$NON-NLS-2$ @@ -479,11 +478,11 @@ public class TexUIPlugin extends AbstractUIPlugin { commandMap.put("subsection", TexUIResources.OBJ_SUBSECTION_IMAGE_ID); commandMap.put("subsubsection", TexUIResources.OBJ_SUBSUBSECTION_IMAGE_ID); - commandMap.put("label", TexUIResources.OBJ_LABEL_IMAGE_ID); - commandMap.put("ref", TexUIResources.OBJ_LABEL_IMAGE_ID); - commandMap.put("pageref", TexUIResources.OBJ_LABEL_IMAGE_ID); - commandMap.put("nameref", TexUIResources.OBJ_LABEL_IMAGE_ID); - commandMap.put("eqref", TexUIResources.OBJ_LABEL_IMAGE_ID); + commandMap.put("label", DocmlBaseUIResources.OBJ_LABEL_DEF_IMAGE_ID); + commandMap.put("ref", DocmlBaseUIResources.OBJ_LABEL_REF_IMAGE_ID); + commandMap.put("pageref", DocmlBaseUIResources.OBJ_LABEL_REF_IMAGE_ID); + commandMap.put("nameref", DocmlBaseUIResources.OBJ_LABEL_REF_IMAGE_ID); + commandMap.put("eqref", DocmlBaseUIResources.OBJ_LABEL_REF_IMAGE_ID); // alias commandMap.put("dots", TexUI.BUNDLE_ID + "/image/obj/c-2026"); //$NON-NLS-1$ //$NON-NLS-2$ diff --git a/docmlet/org.eclipse.statet.docmlet.tex.ui/src/org/eclipse/statet/internal/docmlet/tex/ui/editors/LtxCommandCompletionProposal.java b/docmlet/org.eclipse.statet.docmlet.tex.ui/src/org/eclipse/statet/internal/docmlet/tex/ui/editors/LtxCommandCompletionProposal.java index ef4b2e2d..eb497ce7 100644 --- a/docmlet/org.eclipse.statet.docmlet.tex.ui/src/org/eclipse/statet/internal/docmlet/tex/ui/editors/LtxCommandCompletionProposal.java +++ b/docmlet/org.eclipse.statet.docmlet.tex.ui/src/org/eclipse/statet/internal/docmlet/tex/ui/editors/LtxCommandCompletionProposal.java @@ -341,8 +341,7 @@ public class LtxCommandCompletionProposal extends SourceProposal<LtxAssistInvoca @Override public Image getImage() { - final String key= TexUIResources.INSTANCE.getCommandImageId(this.command); - return (key != null) ? TexUIResources.INSTANCE.getImage(key) : null; + return TexUIResources.INSTANCE.getCommandImage(this.command); } diff --git a/docmlet/org.eclipse.statet.docmlet.tex.ui/src/org/eclipse/statet/internal/docmlet/tex/ui/editors/LtxElementCompletionComputer.java b/docmlet/org.eclipse.statet.docmlet.tex.ui/src/org/eclipse/statet/internal/docmlet/tex/ui/editors/LtxElementCompletionComputer.java index c72a2297..4936398d 100644 --- a/docmlet/org.eclipse.statet.docmlet.tex.ui/src/org/eclipse/statet/internal/docmlet/tex/ui/editors/LtxElementCompletionComputer.java +++ b/docmlet/org.eclipse.statet.docmlet.tex.ui/src/org/eclipse/statet/internal/docmlet/tex/ui/editors/LtxElementCompletionComputer.java @@ -28,6 +28,7 @@ import org.eclipse.statet.jcommons.lang.Nullable; import org.eclipse.statet.jcommons.text.core.SearchPattern; import org.eclipse.statet.jcommons.text.core.TextRegion; +import org.eclipse.statet.docmlet.base.core.DocmlSearchPattern; import org.eclipse.statet.docmlet.tex.core.TexProblemConstants; import org.eclipse.statet.docmlet.tex.core.ast.ControlNode; import org.eclipse.statet.docmlet.tex.core.ast.TexAst; @@ -120,6 +121,14 @@ public abstract class LtxElementCompletionComputer implements ContentAssistCompu return this.searchMatchRules; } + protected int getLabelSearchMatchRules() { + int rules= this.searchMatchRules; + if ((rules & DocmlSearchPattern.SUBSTRING_MATCH) != 0) { + rules|= DocmlSearchPattern.LABEL_SUBSTRING_MATCH; + } + return rules; + } + protected abstract boolean isMath(); @@ -239,7 +248,7 @@ public abstract class LtxElementCompletionComputer implements ContentAssistCompu final AssistProposalCollector proposals) { final LtxCommandProposalParameters parameters= new LtxCommandProposalParameters( context, context.getInvocationOffset() - prefix.length() + 1, - new SearchPattern(getSearchMatchRules(), prefix.substring(1)), 95 ); + new DocmlSearchPattern(getSearchMatchRules(), prefix.substring(1)), 95 ); for (final TexCommand command : commands) { if ((parameters.matchesNamePattern(command.getControlWord())) @@ -265,7 +274,7 @@ public abstract class LtxElementCompletionComputer implements ContentAssistCompu final AssistProposalCollector proposals) { final LtxCommandProposalParameters parameters= new LtxCommandProposalParameters( context, context.getInvocationOffset() - prefix.length(), - new SearchPattern(getSearchMatchRules(), prefix.substring(1)), 95 ); + new DocmlSearchPattern(getSearchMatchRules(), prefix.substring(1)), 95 ); final List<String> addedPrefered= new ArrayList<>(prefered.size()); for (final TexCommand env : envs) { @@ -331,7 +340,7 @@ public abstract class LtxElementCompletionComputer implements ContentAssistCompu final TexLabelProposalParameters parameters= new TexLabelProposalParameters( context, context.getInvocationOffset() - prefix.length(), - new SearchPattern(getSearchMatchRules(), prefix) ); + new DocmlSearchPattern(getLabelSearchMatchRules(), prefix) ); LABELS: for (final String label : labels.getNames()) { if (parameters.matchesNamePattern(label)) { @@ -369,7 +378,7 @@ public abstract class LtxElementCompletionComputer implements ContentAssistCompu final TexLabelProposalParameters parameters= new TexLabelProposalParameters( context, context.getInvocationOffset() - prefix.length(), - new SearchPattern(getSearchMatchRules(), prefix) ); + new DocmlSearchPattern(getLabelSearchMatchRules(), prefix) ); LABELS: for (final String label : labels.getNames()) { if (parameters.matchesNamePattern(label)) { diff --git a/docmlet/org.eclipse.statet.docmlet.tex.ui/src/org/eclipse/statet/internal/docmlet/tex/ui/editors/LtxSymbolsMenuContributions.java b/docmlet/org.eclipse.statet.docmlet.tex.ui/src/org/eclipse/statet/internal/docmlet/tex/ui/editors/LtxSymbolsMenuContributions.java index 89039611..556f1b5a 100644 --- a/docmlet/org.eclipse.statet.docmlet.tex.ui/src/org/eclipse/statet/internal/docmlet/tex/ui/editors/LtxSymbolsMenuContributions.java +++ b/docmlet/org.eclipse.statet.docmlet.tex.ui/src/org/eclipse/statet/internal/docmlet/tex/ui/editors/LtxSymbolsMenuContributions.java @@ -87,9 +87,9 @@ public class LtxSymbolsMenuContributions extends CompoundContributionItem { for (final TexCommand command : commands) { final MenuItem item= new MenuItem(menu, SWT.PUSH); - final String imageKey= texResources.getCommandImageId(command); - if (imageKey != null) { - item.setImage(texResources.getImage(imageKey)); + final Image image= texResources.getCommandImage(command); + if (image != null) { + item.setImage(image); } item.setText(command.getControlWord()); item.setData(command); diff --git a/docmlet/org.eclipse.statet.docmlet.tex.ui/src/org/eclipse/statet/internal/docmlet/tex/ui/editors/TexLabelCompletionProposal.java b/docmlet/org.eclipse.statet.docmlet.tex.ui/src/org/eclipse/statet/internal/docmlet/tex/ui/editors/TexLabelCompletionProposal.java index deeeb024..1cfb24de 100644 --- a/docmlet/org.eclipse.statet.docmlet.tex.ui/src/org/eclipse/statet/internal/docmlet/tex/ui/editors/TexLabelCompletionProposal.java +++ b/docmlet/org.eclipse.statet.docmlet.tex.ui/src/org/eclipse/statet/internal/docmlet/tex/ui/editors/TexLabelCompletionProposal.java @@ -18,11 +18,13 @@ import static org.eclipse.statet.jcommons.lang.ObjectUtils.nonNullAssert; import org.eclipse.jface.text.BadLocationException; import org.eclipse.jface.text.IDocument; +import org.eclipse.swt.graphics.Image; import org.eclipse.swt.graphics.Point; import org.eclipse.statet.jcommons.lang.NonNullByDefault; import org.eclipse.statet.jcommons.text.core.SearchPattern; +import org.eclipse.statet.docmlet.base.ui.DocmlBaseUIResources; import org.eclipse.statet.docmlet.tex.core.model.TexNameAccess; import org.eclipse.statet.internal.docmlet.tex.ui.sourceediting.LtxAssistInvocationContext; import org.eclipse.statet.ltk.ui.sourceediting.assist.SourceProposal; @@ -90,6 +92,12 @@ public class TexLabelCompletionProposal extends SourceProposal<LtxAssistInvocati @Override + public Image getImage() { + return DocmlBaseUIResources.INSTANCE.getImage(DocmlBaseUIResources.OBJ_LABEL_TEXT_IMAGE_ID); + } + + + @Override public boolean isAutoInsertable() { return true; } diff --git a/docmlet/org.eclipse.statet.docmlet.wikitext.commonmark.core/src/org/eclipse/statet/internal/docmlet/wikitext/commonmark/core/inlines/ReferenceDefinition.java b/docmlet/org.eclipse.statet.docmlet.wikitext.commonmark.core/src/org/eclipse/statet/internal/docmlet/wikitext/commonmark/core/inlines/ReferenceDefinition.java index 84713b16..f8fa2e64 100644 --- a/docmlet/org.eclipse.statet.docmlet.wikitext.commonmark.core/src/org/eclipse/statet/internal/docmlet/wikitext/commonmark/core/inlines/ReferenceDefinition.java +++ b/docmlet/org.eclipse.statet.docmlet.wikitext.commonmark.core/src/org/eclipse/statet/internal/docmlet/wikitext/commonmark/core/inlines/ReferenceDefinition.java @@ -69,6 +69,7 @@ public class ReferenceDefinition extends Inline { if (context.getMode() == ProcessingContext.PARSE_SOURCE_STRUCT) { final LinkAttributes attributes= new LinkRefDefinitionAttributes(this.referenceLabel); attributes.setTitle(this.title); + attributes.setHref(this.href); builder.link(attributes, this.href, null); } // nothing to do diff --git a/docmlet/org.eclipse.statet.docmlet.wikitext.core/META-INF/MANIFEST.MF b/docmlet/org.eclipse.statet.docmlet.wikitext.core/META-INF/MANIFEST.MF index ca5ad360..e98ed12a 100644 --- a/docmlet/org.eclipse.statet.docmlet.wikitext.core/META-INF/MANIFEST.MF +++ b/docmlet/org.eclipse.statet.docmlet.wikitext.core/META-INF/MANIFEST.MF @@ -8,7 +8,7 @@ Bundle-ActivationPolicy: lazy Bundle-Activator: org.eclipse.statet.internal.docmlet.wikitext.core.WikitextCorePlugin Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Require-Bundle: org.eclipse.core.runtime;bundle-version="3.15.0", +Require-Bundle: org.eclipse.statet.docmlet.base.core;bundle-version="[4.1.0,4.2.0)";visibility:=reexport, org.eclipse.statet.ecommons.preferences.core;visibility:=reexport, org.eclipse.statet.ecommons.text.core;visibility:=reexport, org.eclipse.statet.ltk.core;bundle-version="[4.1.0,4.2.0)", diff --git a/docmlet/org.eclipse.statet.docmlet.wikitext.core/src/org/eclipse/statet/docmlet/wikitext/core/ast/Link.java b/docmlet/org.eclipse.statet.docmlet.wikitext.core/src/org/eclipse/statet/docmlet/wikitext/core/ast/Link.java index bea087bf..effe11b5 100644 --- a/docmlet/org.eclipse.statet.docmlet.wikitext.core/src/org/eclipse/statet/docmlet/wikitext/core/ast/Link.java +++ b/docmlet/org.eclipse.statet.docmlet.wikitext.core/src/org/eclipse/statet/docmlet/wikitext/core/ast/Link.java @@ -42,8 +42,17 @@ public abstract class Link extends ContainerNode { Ref(final WikitextAstNode parent, final int startOffset, final int endOffset, + final byte linkType, final Label referenceLabel, + final String url, final @Nullable String title) { + super(parent, startOffset, endOffset, linkType, url, title); + + referenceLabel.parent= this; + this.referenceLabel= nonNullAssert(referenceLabel); + } + + Ref(final WikitextAstNode parent, final int startOffset, final int endOffset, final byte linkType, final Label referenceLabel) { - super(parent, startOffset, endOffset, linkType, null); + super(parent, startOffset, endOffset, linkType, null, null); referenceLabel.parent= this; this.referenceLabel= nonNullAssert(referenceLabel); @@ -109,8 +118,8 @@ public abstract class Link extends ContainerNode { Common(final WikitextAstNode parent, final int startOffset, final int endOffset, - final byte linkType, final String href) { - super(parent, startOffset, endOffset, linkType, href); + final byte linkType, final String href, final @Nullable String title) { + super(parent, startOffset, endOffset, linkType, href, title); } @@ -126,21 +135,25 @@ public abstract class Link extends ContainerNode { private final @Nullable String uri; + private final @Nullable String title; + private Link(final WikitextAstNode parent, final int startOffset, final int endOffset, - final byte linkType, final @Nullable String uri) { + final byte linkType, final @Nullable String uri, final @Nullable String title) { super(parent, startOffset, endOffset); this.linkType= linkType; this.uri= uri; + this.title= title; } private Link(final WikitextAstNode parent, final int startOffset, - final String uri) { + final String uri, final @Nullable String title) { super(parent, startOffset, startOffset); this.linkType= 0; this.uri= uri; + this.title= title; } @@ -165,6 +178,10 @@ public abstract class Link extends ContainerNode { return this.uri; } + public @Nullable String getTitle() { + return this.title; + } + public abstract Label getReferenceLabel(); } diff --git a/docmlet/org.eclipse.statet.docmlet.wikitext.core/src/org/eclipse/statet/docmlet/wikitext/core/ast/WikidocParser.java b/docmlet/org.eclipse.statet.docmlet.wikitext.core/src/org/eclipse/statet/docmlet/wikitext/core/ast/WikidocParser.java index aca13692..45b49a24 100644 --- a/docmlet/org.eclipse.statet.docmlet.wikitext.core/src/org/eclipse/statet/docmlet/wikitext/core/ast/WikidocParser.java +++ b/docmlet/org.eclipse.statet.docmlet.wikitext.core/src/org/eclipse/statet/docmlet/wikitext/core/ast/WikidocParser.java @@ -357,24 +357,27 @@ public class WikidocParser extends DocumentBuilder { if (attributes instanceof LinkRefDefinitionAttributes) { linkType= Link.LINK_REF_DEFINITION; referenceInfo= ((LinkRefDefinitionAttributes) attributes).getReferenceLabel(); + if (referenceInfo != null) { + final Label referenceNode= createLabel(referenceInfo); + return new Link.Ref(this.currentNode, + this.locator2.getBeginOffset(), this.locator2.getEndOffset(), + linkType, referenceNode, href, attributes.getTitle() ); + } } else if (attributes instanceof LinkByRefAttributes) { linkType= Link.LINK_BY_REF; referenceInfo= ((LinkByRefAttributes) attributes).getReferenceLabel(); - } - else { - linkType= 0; - referenceInfo= null; - } - if (linkType != 0 && referenceInfo != null) { final Label referenceNode= createLabel(referenceInfo); return new Link.Ref(this.currentNode, this.locator2.getBeginOffset(), this.locator2.getEndOffset(), linkType, referenceNode ); } + else { + linkType= 0; + } return new Link.Common(this.currentNode, this.locator2.getBeginOffset(), this.locator2.getEndOffset(), - Link.COMMON, href ); + Link.COMMON, href, (attributes != null) ? attributes.getTitle() : null ); } private Label createLabel(final LabelInfo labelInfo) { diff --git a/docmlet/org.eclipse.statet.docmlet.wikitext.ui/src/org/eclipse/statet/internal/docmlet/wikitext/ui/sourceediting/MarkupLabelCompletionComputer.java b/docmlet/org.eclipse.statet.docmlet.wikitext.ui/src/org/eclipse/statet/internal/docmlet/wikitext/ui/sourceediting/MarkupLabelCompletionComputer.java index 54984de1..38a6946e 100644 --- a/docmlet/org.eclipse.statet.docmlet.wikitext.ui/src/org/eclipse/statet/internal/docmlet/wikitext/ui/sourceediting/MarkupLabelCompletionComputer.java +++ b/docmlet/org.eclipse.statet.docmlet.wikitext.ui/src/org/eclipse/statet/internal/docmlet/wikitext/ui/sourceediting/MarkupLabelCompletionComputer.java @@ -14,11 +14,14 @@ package org.eclipse.statet.internal.docmlet.wikitext.ui.sourceediting; +import static org.eclipse.statet.docmlet.wikitext.core.ast.WikitextAst.NodeType.LINK; + import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.Platform; import org.eclipse.jface.text.BadLocationException; import org.eclipse.jface.text.IDocument; import org.eclipse.jface.viewers.StyledString; +import org.eclipse.swt.graphics.Image; import org.eclipse.swt.graphics.Point; import org.eclipse.statet.jcommons.collections.ImList; @@ -26,6 +29,9 @@ import org.eclipse.statet.jcommons.lang.NonNullByDefault; import org.eclipse.statet.jcommons.lang.Nullable; import org.eclipse.statet.jcommons.text.core.SearchPattern; +import org.eclipse.statet.docmlet.base.core.DocmlSearchPattern; +import org.eclipse.statet.docmlet.base.ui.DocmlBaseUIResources; +import org.eclipse.statet.docmlet.wikitext.core.ast.Link; import org.eclipse.statet.docmlet.wikitext.core.ast.WikitextAstNode; import org.eclipse.statet.docmlet.wikitext.core.markup.WikitextMarkupLanguage; import org.eclipse.statet.docmlet.wikitext.core.model.IWikidocModelInfo; @@ -50,55 +56,101 @@ public class MarkupLabelCompletionComputer implements ContentAssistComputer, Mar private static class LabelCompletionProposal extends SimpleCompletionProposal</*Wikitext*/AssistInvocationContext> { + private final @Nullable WikitextNameAccess defAccess; private final @Nullable IWikitextSourceElement refElement; public LabelCompletionProposal(final ProposalParameters<?> parameters, - final String replacementString, final IWikitextSourceElement refElement) { + final String replacementString, + final @Nullable WikitextNameAccess defAccess, final @Nullable IWikitextSourceElement refElement) { super(parameters, replacementString); + this.defAccess= defAccess; this.refElement= refElement; } @Override + protected int computeReplacementLength(final int replacementOffset, final Point selection, + final int caretOffset, final boolean overwrite) throws BadLocationException { + int end= Math.max(caretOffset, selection.x + selection.y); + if (overwrite) { + final IDocument document= getInvocationContext().getDocument(); + end--; + while (++end < document.getLength()) { + final char c= document.getChar(end); + if (Character.isLetterOrDigit(c) || c == '-' || c == '_' || c == ':' || c == '.') { + continue; + } + break; + } + } + return (end - replacementOffset); + } + + + @Override protected StyledString computeStyledText() { final StyledString styledText= new StyledString(getDisplayString()); - if (this.refElement != null ) { + final String title= getTitle(); + if (title != null) { + styledText.append(QUALIFIER_SEPARATOR, StyledString.QUALIFIER_STYLER); + styledText.append(title, StyledString.QUALIFIER_STYLER); + } + return styledText; + } + + private @Nullable String getTitle() { + if (this.refElement != null) { final String name= this.refElement.getElementName().getDisplayName(); if (name != null) { - styledText.append(" (", StyledString.DECORATIONS_STYLER); //$NON-NLS-1$ if ((this.refElement.getElementType() & IWikitextSourceElement.MASK_C2) == IWikitextSourceElement.C2_SECTIONING) { - styledText.append("h:" + (this.refElement.getElementType() & 0xf) + " "); + final StringBuilder sb= new StringBuilder(); + sb.append("h:"); //$NON-NLS-1$ + sb.append(Integer.toString((this.refElement.getElementType() & 0xf))); + sb.append(" "); //$NON-NLS-1$ + sb.append(name); + return sb.toString(); } - styledText.append(name, StyledString.DECORATIONS_STYLER); - styledText.append(')', StyledString.DECORATIONS_STYLER); + return name; } } - return styledText; + if (this.defAccess != null) { + final WikitextAstNode node= this.defAccess.getNode(); + if (node != null && node.getNodeType() == LINK) { + final Link link= (Link) node; + if (link.getLinkType() == Link.LINK_REF_DEFINITION) { + return link.getTitle(); + } + } + } + return null; } @Override + public Image getImage() { + return DocmlBaseUIResources.INSTANCE.getImage(DocmlBaseUIResources.OBJ_LABEL_TEXT_IMAGE_ID); + } + + + @Override public boolean isAutoInsertable() { return false; } + @Override - protected int computeReplacementLength(final int replacementOffset, final Point selection, - final int caretOffset, final boolean overwrite) throws BadLocationException { - int end= Math.max(caretOffset, selection.x + selection.y); - if (overwrite) { - final IDocument document= getInvocationContext().getDocument(); - end--; - while (++end < document.getLength()) { - final char c= document.getChar(end); - if (Character.isLetterOrDigit(c) || c == '-' || c == '_' || c == ':' || c == '.') { - continue; + public @Nullable String getAdditionalProposalInfo() { + if (this.refElement == null && this.defAccess != null) { + final WikitextAstNode node= this.defAccess.getNode(); + if (node != null && node.getNodeType() == LINK) { + final Link link= (Link) node; + if (link.getLinkType() == Link.LINK_REF_DEFINITION) { + return link.getUri(); } - break; } } - return (end - replacementOffset); + return null; } } @@ -146,6 +198,14 @@ public class MarkupLabelCompletionComputer implements ContentAssistComputer, Mar return this.searchMatchRules; } + protected int getLabelSearchMatchRules() { + int rules= this.searchMatchRules; + if ((rules & DocmlSearchPattern.SUBSTRING_MATCH) != 0) { + rules|= DocmlSearchPattern.LABEL_SUBSTRING_MATCH; + } + return rules; + } + @Override public void computeCompletionProposals(final AssistInvocationContext context, final int mode, @@ -177,7 +237,7 @@ public class MarkupLabelCompletionComputer implements ContentAssistComputer, Mar final AssistProposalCollector proposals) { final ProposalParameters<?> parameters= new ProposalParameters<>(context, context.getInvocationOffset() - type.getSourcePrefix().length(), - new SearchPattern(getSearchMatchRules(), type.getLookupPrefix()) ); + new DocmlSearchPattern(getLabelSearchMatchRules(), type.getLookupPrefix()) ); for (final String label : labels.getNames()) { if (parameters.matchesNamePattern(label)) { @@ -206,7 +266,7 @@ public class MarkupLabelCompletionComputer implements ContentAssistComputer, Mar parameters.baseRelevance= (defAccess != null) ? 95 : 94; proposals.add(new LabelCompletionProposal(parameters, ((defAccess != null) ? defAccess : accessList.get(0)).getDisplayName(), - defElement )); + defAccess, defElement )); } } } diff --git a/docmlet/pom.xml b/docmlet/pom.xml index f4d4824b..60a3ec2f 100644 --- a/docmlet/pom.xml +++ b/docmlet/pom.xml @@ -31,6 +31,8 @@ <packaging>pom</packaging> <modules> + <module>org.eclipse.statet.docmlet.base.core</module> + <module>org.eclipse.statet.docmlet.base.core-tests</module> <module>org.eclipse.statet.docmlet.base.ui</module> <module>org.eclipse.statet.docmlet.tex.core</module> |