Difference between revisions of "SoC Ideas Eclipse Plugin"

From The Battle for Wesnoth Wiki
(Created page with '{{Template:SoC2010Idea}} = Description = <h3>Create a eclipse plugin for wesnoth UMC development </h3> We want to use the eclipse platform as the IDE to assist Wesnoth UMC (user-…')
 
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
{{Template:SoC2010Idea}}
 
{{Template:SoC2010Idea}}
= Description =
+
== Description ==
<h3>Create a eclipse plugin for wesnoth UMC development </h3>
+
<h2>Create an eclipse plugin for wesnoth UMC development </h2>
We want to use the eclipse platform as the IDE to assist Wesnoth UMC (user-made-content) Development. To do that, we need to create an eclipse plugin which will allow to rapidly start UMC development and which will act as a frontend for existing wesnoth UMC development tools.
+
Page for the idea: [[SoC_Ideas_Eclipse_Plugin]]
  
= Additional Information =
+
We want to use the eclipse platform as the IDE to assist Wesnoth UMC (user-made-content) Development. To do that, we need to create an eclipse plugin which will allow to rapidly start UMC development and which will act as a frontend for existing wesnoth UMC development tools. To do so, we need to try to integrate existing solutions as much as possible.
 +
 
 +
{{#dpl:
 +
|resultsheader=''There are %PAGES% submitted student proposals for this idea''
 +
|oneresultheader=''There is 1 submitted student proposal for this idea''
 +
|suppresserrors=true
 +
|noresultsheader=''There are no submitted student proposals for this idea''
 +
|category=Summer of Code 2010 Student Page&SoC Ideas Eclipse Plugin
 +
|notcategory=SoC 2010 Not Submitted To Google
 +
|include=#Description
 +
|mode=userformat
 +
|format=,,<br/>See [[%PAGE%|%TITLE%]] for more information.<br/><br/>,
 +
}}
 +
 
 +
== Additional Information ==
  
 
''Features wanted:''
 
''Features wanted:''
  
* WML syntax highlight in the editor
+
== WML ==
* autocompletion for WML and common macroses.
+
* Syntax highlighting.
* Ability to generate various Wesnoth UMC artifacts like 'addon' 'campaign', 'singleplayer scenario', 'multiplayer scenario', 'era', etc.
+
 
* Frontend for common wesnoth helper tools like wmllint and wmlindent
+
== Maps ==
* Ability to upload UMC to wesnoth addon server.
+
* Eclipse will open a map in Wesnoth's map editor if the user presses F3 while over the attribute.
 +
If the file doesn't exist, the map editor will be opened to create a new one with the given name.
 +
 
 +
* If a user specifies a non existing map that will be recognized from the builder and marked as error in the eclipse wml editor.
 +
We want to have tab completion for all maps that are included in mainline or in the campaigns map folder.
 +
 
 +
== Scenarios ==
 +
* Eclipse will launch wesnoth directly with the active scenario to start.
 +
That could be done by overwriting the _main.cfg's "first_scenario" attribute or by enhancing the c++ code of wesnoth.
 +
* Next_scenario attributes will be checked if there is a scenario with the given ID and mark it as error if otherwise.
 +
* You should also be able to tab complete the value of the next_scenario attribute.
 +
 
 +
== Variables ==
 +
* Eclipse will scan all further scenarios (following the next_scenario tags) and collect the defined variables.
 +
All attributes that take a variable as argument will check if the variable has been defined before, checked and tab completed.
 +
* This is also true for every occurrence of the "$" token.
 +
 
 +
== Macros ==
 +
The plugin needs to scan the data folder and the campaign files for macros and do tab completion and argument checking for them.
 +
Hovering the mouse over the macros name will bring up the coding of the macro in a floating box.
 +
Pressing F3 when a macro is highlighted jumps to the file/location where the macro is defined.
 +
 
 +
== Attributes ==
 +
The editor must mark every attribute that is not valid in it's context.
 +
The values of attributes should be tab completable wherever possible.
 +
The editor should check the values if they match the type that the engine expects from the attribute.
 +
Hovering the mouse over an attribute brings a floating box with the description of it up.
 +
 
 +
== Tags ==
 +
The editor must mark every tag that is not valid in it's context.
 +
Tags must be tab completable, a closing tag is inserted no matter if the tag was tab completed or not.
 +
With the insertion of the closing tag all mandatory attributes that can be determined are inserted with the type of the attribute
 +
added as the value but commented.
 +
Optional attributes can be auto inserted (all or only a subset) and have values corresponding to their default values.
 +
Hovering the mouse over a tag  brings a floating box with the description of it up.
 +
 
 +
== Wizards ==
 +
We want to have wizards for creating:
 +
* Campaigns
 +
* Eras
 +
* Multiplayer Campaigns/Scenarios
 +
* Factions
 +
* Scenarios
 +
* Units 
 +
 +
== Frontends ==
 +
* Wmllint
 +
* Wmlvalidator
 +
* Wmlindent
 +
* Wmlscope
 +
* Upload to the UMC addon server.
 +
 
 +
 
 +
More Information at [[EclipsePlugin]]

Latest revision as of 15:51, 30 June 2020


This page is related to Summer of Code 2010
See the list of Summer of Code 2010 Ideas



This is a Summer of Code 2010 Idea


Description

Create an eclipse plugin for wesnoth UMC development

Page for the idea: SoC_Ideas_Eclipse_Plugin

We want to use the eclipse platform as the IDE to assist Wesnoth UMC (user-made-content) Development. To do that, we need to create an eclipse plugin which will allow to rapidly start UMC development and which will act as a frontend for existing wesnoth UMC development tools. To do so, we need to try to integrate existing solutions as much as possible.

There is 1 submitted student proposal for this idea

Timotei21 - Eclipse UMC Plugin

  • gna.org: timotei
  • irc: timotei21/timotei
  • forum: timotei21

I'm Timotei, and I want to participate in GSOC, as a developer at Battle for Wesnoth game. I'm interested in developing the Eclipse UMC plugin. For details of implementation and planning, see the Proposal Summary and the Timeline.

Last Updated: 16th of April 2010
See SummerofCode Timotei21 for more information.

Additional Information

Features wanted:

WML

  • Syntax highlighting.

Maps

  • Eclipse will open a map in Wesnoth's map editor if the user presses F3 while over the attribute.

If the file doesn't exist, the map editor will be opened to create a new one with the given name.

  • If a user specifies a non existing map that will be recognized from the builder and marked as error in the eclipse wml editor.

We want to have tab completion for all maps that are included in mainline or in the campaigns map folder.

Scenarios

  • Eclipse will launch wesnoth directly with the active scenario to start.

That could be done by overwriting the _main.cfg's "first_scenario" attribute or by enhancing the c++ code of wesnoth.

  • Next_scenario attributes will be checked if there is a scenario with the given ID and mark it as error if otherwise.
  • You should also be able to tab complete the value of the next_scenario attribute.

Variables

  • Eclipse will scan all further scenarios (following the next_scenario tags) and collect the defined variables.

All attributes that take a variable as argument will check if the variable has been defined before, checked and tab completed.

  • This is also true for every occurrence of the "$" token.

Macros

The plugin needs to scan the data folder and the campaign files for macros and do tab completion and argument checking for them. Hovering the mouse over the macros name will bring up the coding of the macro in a floating box. Pressing F3 when a macro is highlighted jumps to the file/location where the macro is defined.

Attributes

The editor must mark every attribute that is not valid in it's context. The values of attributes should be tab completable wherever possible. The editor should check the values if they match the type that the engine expects from the attribute. Hovering the mouse over an attribute brings a floating box with the description of it up.

Tags

The editor must mark every tag that is not valid in it's context. Tags must be tab completable, a closing tag is inserted no matter if the tag was tab completed or not. With the insertion of the closing tag all mandatory attributes that can be determined are inserted with the type of the attribute added as the value but commented. Optional attributes can be auto inserted (all or only a subset) and have values corresponding to their default values. Hovering the mouse over a tag brings a floating box with the description of it up.

Wizards

We want to have wizards for creating:

  • Campaigns
  • Eras
  • Multiplayer Campaigns/Scenarios
  • Factions
  • Scenarios
  • Units

Frontends

  • Wmllint
  • Wmlvalidator
  • Wmlindent
  • Wmlscope
  • Upload to the UMC addon server.


More Information at EclipsePlugin

This page was last edited on 30 June 2020, at 15:51.