Boost logo

Boost-Commit :

From: frank.birbacher_at_[hidden]
Date: 2008-05-02 14:53:04


Author: birbacher
Date: 2008-05-02 14:53:01 EDT (Fri, 02 May 2008)
New Revision: 45032
URL: http://svn.boost.org/trac/boost/changeset/45032

Log:
Initial import of JamfileEditor plug-in for Eclipse.
Added:
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/.project (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/.settings/
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/.settings/org.eclipse.jdt.core.prefs (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/.settings/org.eclipse.jdt.ui.prefs (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/META-INF/
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/META-INF/MANIFEST.MF (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/icons/
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/icons/favicon.png (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/ColorManager.java (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/IColors.java (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/JamfileConfiguration.java (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/JamfileDocumentProvider.java (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/JamfileEditor.java (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/JamfilePartitionScanner.java (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/JamfileWhitespaceDetector.java (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/NonRuleBasedDamagerRepairer.java (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/rules/
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/rules/CommandsRule.java (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/rules/JamBuiltinRule.java (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/rules/JamFlowRule.java (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/rules/JamPunctuationRule.java (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/rules/MainTargetRuleRule.java (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/rules/PropertiesRule.java (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/rules/PunctuationRule.java (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/rules/VariablesRule.java (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/rules/WhitespaceBoundWordDetector.java (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/rules/WordRuleBase.java (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/scanners/
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/scanners/Default.java (contents, props changed)
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/scanners/SingleComment.java (contents, props changed)
Properties modified:
   sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/ (props changed)

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/.project
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/.project 2008-05-02 14:53:01 EDT (Fri, 02 May 2008)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>JamfileEditor</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>

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/.settings/org.eclipse.jdt.core.prefs
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/.settings/org.eclipse.jdt.core.prefs 2008-05-02 14:53:01 EDT (Fri, 02 May 2008)
@@ -0,0 +1,256 @@
+#Fri May 02 19:25:10 CEST 2008
+eclipse.preferences.version=1
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+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_conditional_expression=80
+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_multiple_fields=16
+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_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.blank_lines_after_imports=1
+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=0
+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=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+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_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.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.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=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=80
+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.format_guardian_clause_on_one_line=false
+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=false
+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=8
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=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_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not 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=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not 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_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_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_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=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_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_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_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_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.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_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=80
+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.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=space
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/.settings/org.eclipse.jdt.ui.prefs
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/.settings/org.eclipse.jdt.ui.prefs 2008-05-02 14:53:01 EDT (Fri, 02 May 2008)
@@ -0,0 +1,4 @@
+#Fri May 02 19:25:10 CEST 2008
+eclipse.preferences.version=1
+formatter_profile=_Java Conventions for Boost with Space indent
+formatter_settings_version=11

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/META-INF/MANIFEST.MF
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/META-INF/MANIFEST.MF 2008-05-02 14:53:01 EDT (Fri, 02 May 2008)
@@ -0,0 +1,13 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: JamfileEditor Plug-in
+Bundle-SymbolicName: JamfileEditor; singleton:=true
+Bundle-Version: 1.0.0
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.ui,
+ org.eclipse.jface.text,
+ org.eclipse.ui.editors
+Bundle-Vendor: Boost.org
+Export-Package: org.boost.eclipse.bjam.editor,
+ org.boost.eclipse.bjam.editor.rules,
+ org.boost.eclipse.bjam.editor.scanners

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/icons/favicon.png
==============================================================================
Binary file. No diff available.

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/ColorManager.java
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/ColorManager.java 2008-05-02 14:53:01 EDT (Fri, 02 May 2008)
@@ -0,0 +1,32 @@
+/* Copyright Frank Birbacher 2008
+ *
+ * Use, modification and distribution are subject to the Boost Software License,
+ * Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ * http://www.boost.org/LICENSE_1_0.txt).
+ */
+package org.boost.eclipse.bjam.editor;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.RGB;
+import org.eclipse.swt.widgets.Display;
+
+public class ColorManager {
+ protected final Map<RGB, Color> colorTable = new HashMap<RGB, Color>(10);
+
+ public void dispose() {
+ for (final Color color : colorTable.values())
+ color.dispose();
+ }
+
+ public Color getColor(final RGB rgb) {
+ Color color = colorTable.get(rgb);
+ if (color == null) {
+ color = new Color(Display.getCurrent(), rgb);
+ colorTable.put(rgb, color);
+ }
+ return color;
+ }
+}

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/IColors.java
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/IColors.java 2008-05-02 14:53:01 EDT (Fri, 02 May 2008)
@@ -0,0 +1,22 @@
+/* Copyright Frank Birbacher 2008
+ *
+ * Use, modification and distribution are subject to the Boost Software License,
+ * Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ * http://www.boost.org/LICENSE_1_0.txt).
+ */
+package org.boost.eclipse.bjam.editor;
+
+import org.eclipse.swt.graphics.RGB;
+
+public interface IColors {
+ RGB SINGLE_COMMENT = new RGB(127, 159, 191);
+ RGB COMMANDS = new RGB(63, 127, 95);
+ RGB PROPERTIES = new RGB(73, 115, 255);
+ RGB MAIN_TARGET_RULE = new RGB(150, 64, 150);
+ RGB PUNCTUATION = new RGB(127, 0, 85);
+ RGB JAM_BUILTIN = new RGB(191, 127, 95);
+ RGB JAM_FLOW = PUNCTUATION;
+ RGB JAM_PUNCTUATION = PUNCTUATION;
+ RGB VARIABLES = new RGB(64, 150, 128);
+ RGB DEFAULT = new RGB(0, 0, 0);
+}

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/JamfileConfiguration.java
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/JamfileConfiguration.java 2008-05-02 14:53:01 EDT (Fri, 02 May 2008)
@@ -0,0 +1,60 @@
+/* Copyright Frank Birbacher 2008
+ *
+ * Use, modification and distribution are subject to the Boost Software License,
+ * Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ * http://www.boost.org/LICENSE_1_0.txt).
+ */
+package org.boost.eclipse.bjam.editor;
+
+
+import org.boost.eclipse.bjam.editor.scanners.Default;
+import org.boost.eclipse.bjam.editor.scanners.SingleComment;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.TextAttribute;
+import org.eclipse.jface.text.presentation.IPresentationReconciler;
+import org.eclipse.jface.text.presentation.PresentationReconciler;
+import org.eclipse.jface.text.rules.DefaultDamagerRepairer;
+import org.eclipse.jface.text.rules.RuleBasedScanner;
+import org.eclipse.jface.text.rules.Token;
+import org.eclipse.jface.text.source.ISourceViewer;
+import org.eclipse.jface.text.source.SourceViewerConfiguration;
+
+/**
+ * Our viewer config.
+ */
+public class JamfileConfiguration extends SourceViewerConfiguration {
+ private final RuleBasedScanner defaultScanner;
+ private final SingleComment singleCommentScanner;
+
+ public JamfileConfiguration(final ColorManager colorManager) {
+ defaultScanner = new Default(colorManager);
+ defaultScanner.setDefaultReturnToken(new Token(new TextAttribute(
+ colorManager.getColor(IColors.DEFAULT))));
+
+ singleCommentScanner = new SingleComment(colorManager);
+ singleCommentScanner.setDefaultReturnToken(new Token(new TextAttribute(
+ colorManager.getColor(IColors.DEFAULT))));
+ }
+
+ public String[] getConfiguredContentTypes(final ISourceViewer sourceViewer) {
+ return new String[] { IDocument.DEFAULT_CONTENT_TYPE,
+ JamfilePartitionScanner.SINGLE_LINE_COMMENT };
+ }
+
+ public IPresentationReconciler getPresentationReconciler(
+ final ISourceViewer sourceViewer) {
+ final PresentationReconciler reconciler = new PresentationReconciler();
+
+ DefaultDamagerRepairer dr = new DefaultDamagerRepairer(
+ singleCommentScanner);
+ reconciler.setDamager(dr, JamfilePartitionScanner.SINGLE_LINE_COMMENT);
+ reconciler.setRepairer(dr, JamfilePartitionScanner.SINGLE_LINE_COMMENT);
+
+ dr = new DefaultDamagerRepairer(defaultScanner);
+ reconciler.setDamager(dr, IDocument.DEFAULT_CONTENT_TYPE);
+ reconciler.setRepairer(dr, IDocument.DEFAULT_CONTENT_TYPE);
+
+ return reconciler;
+ }
+
+}

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/JamfileDocumentProvider.java
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/JamfileDocumentProvider.java 2008-05-02 14:53:01 EDT (Fri, 02 May 2008)
@@ -0,0 +1,32 @@
+/* Copyright Frank Birbacher 2008
+ *
+ * Use, modification and distribution are subject to the Boost Software License,
+ * Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ * http://www.boost.org/LICENSE_1_0.txt).
+ */
+package org.boost.eclipse.bjam.editor;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.IDocumentPartitioner;
+import org.eclipse.jface.text.rules.FastPartitioner;
+import org.eclipse.ui.editors.text.FileDocumentProvider;
+
+/**
+ * Provider for Jamfile content. Comtroller of MVC.
+ */
+public class JamfileDocumentProvider extends FileDocumentProvider {
+
+ protected IDocument createDocument(final Object element)
+ throws CoreException {
+ final IDocument document = super.createDocument(element);
+ if (document != null) {
+ final IDocumentPartitioner partitioner = new FastPartitioner(
+ new JamfilePartitionScanner(),
+ JamfilePartitionScanner.PARTITIONS);
+ partitioner.connect(document);
+ document.setDocumentPartitioner(partitioner);
+ }
+ return document;
+ }
+}

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/JamfileEditor.java
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/JamfileEditor.java 2008-05-02 14:53:01 EDT (Fri, 02 May 2008)
@@ -0,0 +1,27 @@
+/* Copyright Frank Birbacher 2008
+ *
+ * Use, modification and distribution are subject to the Boost Software License,
+ * Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ * http://www.boost.org/LICENSE_1_0.txt).
+ */
+package org.boost.eclipse.bjam.editor;
+
+import org.eclipse.ui.editors.text.TextEditor;
+
+public class JamfileEditor extends TextEditor {
+
+ private final ColorManager colorManager;
+
+ public JamfileEditor() {
+ super();
+ colorManager = new ColorManager();
+ setSourceViewerConfiguration(new JamfileConfiguration(colorManager));
+ setDocumentProvider(new JamfileDocumentProvider());
+ }
+
+ public void dispose() {
+ colorManager.dispose();
+ super.dispose();
+ }
+
+}

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/JamfilePartitionScanner.java
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/JamfilePartitionScanner.java 2008-05-02 14:53:01 EDT (Fri, 02 May 2008)
@@ -0,0 +1,33 @@
+/* Copyright Frank Birbacher 2008
+ *
+ * Use, modification and distribution are subject to the Boost Software License,
+ * Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ * http://www.boost.org/LICENSE_1_0.txt).
+ */
+package org.boost.eclipse.bjam.editor;
+
+import java.util.ArrayList;
+
+import org.eclipse.jface.text.rules.*;
+
+/**
+ * Our partition scanner.
+ */
+public class JamfilePartitionScanner extends RuleBasedPartitionScanner {
+ static public final String SINGLE_LINE_COMMENT = "__jamfile_single_comment";
+ static public final String CODE = "__jamfile_code";
+ static public final String PARTITIONS[] = new String[] {
+ SINGLE_LINE_COMMENT, CODE };
+
+ public JamfilePartitionScanner() {
+
+ final IToken singleComment = new Token(SINGLE_LINE_COMMENT);
+
+ final ArrayList<IPredicateRule> rules = new ArrayList<IPredicateRule>();
+
+ rules.add(new EndOfLineRule("#", singleComment));
+ // Add rule for main target rules
+
+ setPredicateRules(rules.toArray(new IPredicateRule[0]));
+ }
+}

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/JamfileWhitespaceDetector.java
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/JamfileWhitespaceDetector.java 2008-05-02 14:53:01 EDT (Fri, 02 May 2008)
@@ -0,0 +1,20 @@
+/* Copyright Frank Birbacher 2008
+ *
+ * Use, modification and distribution are subject to the Boost Software License,
+ * Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ * http://www.boost.org/LICENSE_1_0.txt).
+ */
+package org.boost.eclipse.bjam.editor;
+
+import org.eclipse.jface.text.rules.IWhitespaceDetector;
+
+public class JamfileWhitespaceDetector implements IWhitespaceDetector {
+
+ public boolean isWhitespace(final char c) {
+ return staticIsWhitespace(c);
+ }
+
+ static public boolean staticIsWhitespace(final char c) {
+ return (c == ' ' || c == '\t' || c == '\n' || c == '\r');
+ }
+}

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/NonRuleBasedDamagerRepairer.java
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/NonRuleBasedDamagerRepairer.java 2008-05-02 14:53:01 EDT (Fri, 02 May 2008)
@@ -0,0 +1,139 @@
+/* Copyright Frank Birbacher 2008
+ *
+ * Use, modification and distribution are subject to the Boost Software License,
+ * Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ * http://www.boost.org/LICENSE_1_0.txt).
+ */
+package org.boost.eclipse.bjam.editor;
+
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.DocumentEvent;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.IRegion;
+import org.eclipse.jface.text.ITypedRegion;
+import org.eclipse.jface.text.Region;
+import org.eclipse.jface.text.TextAttribute;
+import org.eclipse.jface.text.TextPresentation;
+import org.eclipse.jface.text.presentation.IPresentationDamager;
+import org.eclipse.jface.text.presentation.IPresentationRepairer;
+import org.eclipse.core.runtime.Assert;
+import org.eclipse.swt.custom.StyleRange;
+
+public class NonRuleBasedDamagerRepairer implements IPresentationDamager,
+ IPresentationRepairer {
+
+ /** The document this object works on */
+ protected IDocument fDocument;
+ /**
+ * The default text attribute if non is returned as data by the current
+ * token
+ */
+ protected TextAttribute fDefaultTextAttribute;
+
+ /**
+ * Constructor for NonRuleBasedDamagerRepairer.
+ */
+ public NonRuleBasedDamagerRepairer(TextAttribute defaultTextAttribute) {
+ Assert.isNotNull(defaultTextAttribute);
+
+ fDefaultTextAttribute = defaultTextAttribute;
+ }
+
+ /**
+ * @see IPresentationRepairer#setDocument(IDocument)
+ */
+ public void setDocument(IDocument document) {
+ fDocument = document;
+ }
+
+ /**
+ * Returns the end offset of the line that contains the specified offset or
+ * if the offset is inside a line delimiter, the end offset of the next
+ * line.
+ *
+ * @param offset
+ * the offset whose line end offset must be computed
+ * @return the line end offset for the given offset
+ * @exception BadLocationException
+ * if offset is invalid in the current document
+ */
+ protected int endOfLineOf(int offset) throws BadLocationException {
+
+ IRegion info = fDocument.getLineInformationOfOffset(offset);
+ if (offset <= info.getOffset() + info.getLength())
+ return info.getOffset() + info.getLength();
+
+ int line = fDocument.getLineOfOffset(offset);
+ try {
+ info = fDocument.getLineInformation(line + 1);
+ return info.getOffset() + info.getLength();
+ } catch (BadLocationException x) {
+ return fDocument.getLength();
+ }
+ }
+
+ /**
+ * @see IPresentationDamager#getDamageRegion(ITypedRegion, DocumentEvent,
+ * boolean)
+ */
+ public IRegion getDamageRegion(ITypedRegion partition, DocumentEvent event,
+ boolean documentPartitioningChanged) {
+ if (!documentPartitioningChanged) {
+ try {
+
+ IRegion info = fDocument.getLineInformationOfOffset(event
+ .getOffset());
+ int start = Math.max(partition.getOffset(), info.getOffset());
+
+ int end = event.getOffset()
+ + (event.getText() == null ? event.getLength() : event
+ .getText().length());
+
+ if (info.getOffset() <= end
+ && end <= info.getOffset() + info.getLength()) {
+ // optimize the case of the same line
+ end = info.getOffset() + info.getLength();
+ } else
+ end = endOfLineOf(end);
+
+ end = Math.min(partition.getOffset() + partition.getLength(),
+ end);
+ return new Region(start, end - start);
+
+ } catch (BadLocationException x) {
+ }
+ }
+
+ return partition;
+ }
+
+ /**
+ * @see IPresentationRepairer#createPresentation(TextPresentation,
+ * ITypedRegion)
+ */
+ public void createPresentation(TextPresentation presentation,
+ ITypedRegion region) {
+ addRange(presentation, region.getOffset(), region.getLength(),
+ fDefaultTextAttribute);
+ }
+
+ /**
+ * Adds style information to the given text presentation.
+ *
+ * @param presentation
+ * the text presentation to be extended
+ * @param offset
+ * the offset of the range to be styled
+ * @param length
+ * the length of the range to be styled
+ * @param attr
+ * the attribute describing the style of the range to be
+ * styled
+ */
+ protected void addRange(TextPresentation presentation, int offset,
+ int length, TextAttribute attr) {
+ if (attr != null)
+ presentation.addStyleRange(new StyleRange(offset, length, attr
+ .getForeground(), attr.getBackground(), attr.getStyle()));
+ }
+}
\ No newline at end of file

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/rules/CommandsRule.java
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/rules/CommandsRule.java 2008-05-02 14:53:01 EDT (Fri, 02 May 2008)
@@ -0,0 +1,19 @@
+/* Copyright Frank Birbacher 2008
+ *
+ * Use, modification and distribution are subject to the Boost Software License,
+ * Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ * http://www.boost.org/LICENSE_1_0.txt).
+ */
+package org.boost.eclipse.bjam.editor.rules;
+
+import org.eclipse.jface.text.rules.IToken;
+
+public class CommandsRule extends WordRuleBase {
+ static private final String[] targets = new String[] { "import", "using",
+ "build-project", "explicit", "requirements", "usage-requirements",
+ "build-dir" };
+
+ public CommandsRule(final IToken token) {
+ super(targets, token);
+ }
+}

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/rules/JamBuiltinRule.java
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/rules/JamBuiltinRule.java 2008-05-02 14:53:01 EDT (Fri, 02 May 2008)
@@ -0,0 +1,23 @@
+/* Copyright Frank Birbacher 2008
+ *
+ * Use, modification and distribution are subject to the Boost Software License,
+ * Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ * http://www.boost.org/LICENSE_1_0.txt).
+ */
+package org.boost.eclipse.bjam.editor.rules;
+
+import org.eclipse.jface.text.rules.IToken;
+
+public class JamBuiltinRule extends WordRuleBase {
+ static private final String[] targets = new String[] { "DEPENDS",
+ "INCLUDES", "ALWAYS", "LEAVES", "NOCARE", "NOTFILE", "NOUPDATE",
+ "TEMPORARY", "FAIL_EXPECTED", "RMOLD", "ISFILE", "ECHO", "EXIT",
+ "GLOB", "MATCH", "BACKTRACE", "UPDATE", "W32_GETREG",
+ "W32_GETREGNAMES", "SHELL", "SEARCH", "LOCATE", "HDRSCAN",
+ "HDRRULE", "__TIMING_RULE__", "__ACTION_RULE__", "RULENAMES",
+ "VARNAMES", "EXPORT", "CALLER_MODULE", "DELETE_MODULE" };
+
+ public JamBuiltinRule(final IToken token) {
+ super(targets, token);
+ }
+}

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/rules/JamFlowRule.java
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/rules/JamFlowRule.java 2008-05-02 14:53:01 EDT (Fri, 02 May 2008)
@@ -0,0 +1,19 @@
+/* Copyright Frank Birbacher 2008
+ *
+ * Use, modification and distribution are subject to the Boost Software License,
+ * Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ * http://www.boost.org/LICENSE_1_0.txt).
+ */
+package org.boost.eclipse.bjam.editor.rules;
+
+import org.eclipse.jface.text.rules.IToken;
+
+public class JamFlowRule extends WordRuleBase {
+ static private final String[] targets = new String[] { "for", "in", "if",
+ "else", "include", "local", "return", "switch", "case", "while",
+ "rule", "actions", "module" };
+
+ public JamFlowRule(final IToken token) {
+ super(targets, token);
+ }
+}

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/rules/JamPunctuationRule.java
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/rules/JamPunctuationRule.java 2008-05-02 14:53:01 EDT (Fri, 02 May 2008)
@@ -0,0 +1,18 @@
+/* Copyright Frank Birbacher 2008
+ *
+ * Use, modification and distribution are subject to the Boost Software License,
+ * Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ * http://www.boost.org/LICENSE_1_0.txt).
+ */
+package org.boost.eclipse.bjam.editor.rules;
+
+import org.eclipse.jface.text.rules.IToken;
+
+public class JamPunctuationRule extends WordRuleBase {
+ static private final String[] targets = new String[] { "=", "!=", "+=",
+ "?=", "<", ">", "<=", ">=", "!", "&&", "||", "(", ")" };
+
+ public JamPunctuationRule(final IToken token) {
+ super(targets, token);
+ }
+}

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/rules/MainTargetRuleRule.java
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/rules/MainTargetRuleRule.java 2008-05-02 14:53:01 EDT (Fri, 02 May 2008)
@@ -0,0 +1,19 @@
+/* Copyright Frank Birbacher 2008
+ *
+ * Use, modification and distribution are subject to the Boost Software License,
+ * Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ * http://www.boost.org/LICENSE_1_0.txt).
+ */
+package org.boost.eclipse.bjam.editor.rules;
+
+import org.eclipse.jface.text.rules.IToken;
+
+public class MainTargetRuleRule extends WordRuleBase {
+ public static final String[] targets = new String[] { "exe", "lib",
+ "alias", "project", "boost-build", "install", "stage",
+ "use-project", "rc", "obj", "h", "cpp", "slices" };
+
+ public MainTargetRuleRule(final IToken token) {
+ super(targets, token);
+ }
+}

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/rules/PropertiesRule.java
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/rules/PropertiesRule.java 2008-05-02 14:53:01 EDT (Fri, 02 May 2008)
@@ -0,0 +1,16 @@
+/* Copyright Frank Birbacher 2008
+ *
+ * Use, modification and distribution are subject to the Boost Software License,
+ * Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ * http://www.boost.org/LICENSE_1_0.txt).
+ */
+package org.boost.eclipse.bjam.editor.rules;
+
+import org.eclipse.jface.text.rules.IToken;
+import org.eclipse.jface.text.rules.PatternRule;
+
+public class PropertiesRule extends PatternRule {
+ public PropertiesRule(final IToken token) {
+ super("<", ">", token, '\\', true);
+ }
+}

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/rules/PunctuationRule.java
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/rules/PunctuationRule.java 2008-05-02 14:53:01 EDT (Fri, 02 May 2008)
@@ -0,0 +1,18 @@
+/* Copyright Frank Birbacher 2008
+ *
+ * Use, modification and distribution are subject to the Boost Software License,
+ * Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ * http://www.boost.org/LICENSE_1_0.txt).
+ */
+package org.boost.eclipse.bjam.editor.rules;
+
+import org.eclipse.jface.text.rules.IToken;
+
+public class PunctuationRule extends WordRuleBase {
+ static private final String[] targets = new String[] { ";", ":", "[", "]",
+ "{", "}" };
+
+ public PunctuationRule(final IToken token) {
+ super(targets, token);
+ }
+}

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/rules/VariablesRule.java
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/rules/VariablesRule.java 2008-05-02 14:53:01 EDT (Fri, 02 May 2008)
@@ -0,0 +1,16 @@
+/* Copyright Frank Birbacher 2008
+ *
+ * Use, modification and distribution are subject to the Boost Software License,
+ * Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ * http://www.boost.org/LICENSE_1_0.txt).
+ */
+package org.boost.eclipse.bjam.editor.rules;
+
+import org.eclipse.jface.text.rules.IToken;
+import org.eclipse.jface.text.rules.PatternRule;
+
+public class VariablesRule extends PatternRule {
+ public VariablesRule(final IToken token) {
+ super("$(", ")", token, '\\', true);
+ }
+}

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/rules/WhitespaceBoundWordDetector.java
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/rules/WhitespaceBoundWordDetector.java 2008-05-02 14:53:01 EDT (Fri, 02 May 2008)
@@ -0,0 +1,21 @@
+/* Copyright Frank Birbacher 2008
+ *
+ * Use, modification and distribution are subject to the Boost Software License,
+ * Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ * http://www.boost.org/LICENSE_1_0.txt).
+ */
+package org.boost.eclipse.bjam.editor.rules;
+
+
+import org.boost.eclipse.bjam.editor.JamfileWhitespaceDetector;
+import org.eclipse.jface.text.rules.IWordDetector;
+
+class WhitespaceBoundWordDetector implements IWordDetector {
+ public boolean isWordStart(final char c) {
+ return !JamfileWhitespaceDetector.staticIsWhitespace(c);
+ }
+
+ public boolean isWordPart(final char c) {
+ return !JamfileWhitespaceDetector.staticIsWhitespace(c);
+ }
+}
\ No newline at end of file

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/rules/WordRuleBase.java
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/rules/WordRuleBase.java 2008-05-02 14:53:01 EDT (Fri, 02 May 2008)
@@ -0,0 +1,19 @@
+/* Copyright Frank Birbacher 2008
+ *
+ * Use, modification and distribution are subject to the Boost Software License,
+ * Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ * http://www.boost.org/LICENSE_1_0.txt).
+ */
+package org.boost.eclipse.bjam.editor.rules;
+
+import org.eclipse.jface.text.rules.IToken;
+import org.eclipse.jface.text.rules.WordRule;
+
+public class WordRuleBase extends WordRule {
+ public WordRuleBase(final String[] targets, final IToken token) {
+ super(new WhitespaceBoundWordDetector());
+
+ for (final String target : targets)
+ addWord(target, token);
+ }
+}

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/scanners/Default.java
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/scanners/Default.java 2008-05-02 14:53:01 EDT (Fri, 02 May 2008)
@@ -0,0 +1,54 @@
+/* Copyright Frank Birbacher 2008
+ *
+ * Use, modification and distribution are subject to the Boost Software License,
+ * Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ * http://www.boost.org/LICENSE_1_0.txt).
+ */
+package org.boost.eclipse.bjam.editor.scanners;
+
+
+import java.util.ArrayList;
+
+import org.boost.eclipse.bjam.editor.ColorManager;
+import org.boost.eclipse.bjam.editor.IColors;
+import org.boost.eclipse.bjam.editor.JamfileWhitespaceDetector;
+import org.boost.eclipse.bjam.editor.rules.CommandsRule;
+import org.boost.eclipse.bjam.editor.rules.JamBuiltinRule;
+import org.boost.eclipse.bjam.editor.rules.JamFlowRule;
+import org.boost.eclipse.bjam.editor.rules.JamPunctuationRule;
+import org.boost.eclipse.bjam.editor.rules.MainTargetRuleRule;
+import org.boost.eclipse.bjam.editor.rules.PropertiesRule;
+import org.boost.eclipse.bjam.editor.rules.PunctuationRule;
+import org.boost.eclipse.bjam.editor.rules.VariablesRule;
+import org.eclipse.jface.text.rules.*;
+import org.eclipse.jface.text.*;
+import org.eclipse.swt.graphics.RGB;
+
+/**
+ * Specific scanner.
+ */
+public class Default extends RuleBasedScanner {
+ private final ColorManager manager;
+
+ private IToken getToken(final RGB color) {
+ return new Token(new TextAttribute(manager.getColor(color)));
+ }
+
+ public Default(final ColorManager manager) {
+ this.manager = manager;
+
+ final ArrayList<IRule> rules = new ArrayList<IRule>();
+
+ rules.add(new MainTargetRuleRule(getToken(IColors.MAIN_TARGET_RULE)));
+ rules.add(new CommandsRule(getToken(IColors.COMMANDS)));
+ rules.add(new PropertiesRule(getToken(IColors.PROPERTIES)));
+ rules.add(new VariablesRule(getToken(IColors.VARIABLES)));
+ rules.add(new JamBuiltinRule(getToken(IColors.JAM_BUILTIN)));
+ rules.add(new JamFlowRule(getToken(IColors.JAM_FLOW)));
+ rules.add(new JamPunctuationRule(getToken(IColors.JAM_PUNCTUATION)));
+ rules.add(new PunctuationRule(getToken(IColors.PUNCTUATION)));
+ rules.add(new WhitespaceRule(new JamfileWhitespaceDetector()));
+
+ setRules(rules.toArray(new IRule[0]));
+ }
+}

Added: sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/scanners/SingleComment.java
==============================================================================
--- (empty file)
+++ sandbox-branches/birbacher/eclipse_contrib/JamfileEditor/src/org/boost/eclipse/bjam/editor/scanners/SingleComment.java 2008-05-02 14:53:01 EDT (Fri, 02 May 2008)
@@ -0,0 +1,41 @@
+/* Copyright Frank Birbacher 2008
+ *
+ * Use, modification and distribution are subject to the Boost Software License,
+ * Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ * http://www.boost.org/LICENSE_1_0.txt).
+ */
+package org.boost.eclipse.bjam.editor.scanners;
+
+
+import java.util.ArrayList;
+
+import org.boost.eclipse.bjam.editor.ColorManager;
+import org.boost.eclipse.bjam.editor.IColors;
+import org.boost.eclipse.bjam.editor.JamfileWhitespaceDetector;
+import org.eclipse.jface.text.TextAttribute;
+import org.eclipse.jface.text.rules.EndOfLineRule;
+import org.eclipse.jface.text.rules.IRule;
+import org.eclipse.jface.text.rules.IToken;
+import org.eclipse.jface.text.rules.RuleBasedScanner;
+import org.eclipse.jface.text.rules.Token;
+import org.eclipse.jface.text.rules.WhitespaceRule;
+
+/**
+ * Specific scanner.
+ */
+public class SingleComment extends RuleBasedScanner {
+
+ public SingleComment(final ColorManager manager) {
+ final IToken singleComment = new Token(new TextAttribute(manager
+ .getColor(IColors.SINGLE_COMMENT)));
+
+ final ArrayList<IRule> rules = new ArrayList<IRule>();
+
+ // Add rule for processing instructions
+ rules.add(new EndOfLineRule("#", singleComment));
+ // Add generic whitespace rule.
+ rules.add(new WhitespaceRule(new JamfileWhitespaceDetector()));
+
+ setRules(rules.toArray(new IRule[0]));
+ }
+}


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk