Author Topic: Plugin for a Programming Language  (Read 32909 times)

Offline igorevc

  • Multiple posting newcomer
  • *
  • Posts: 23
Re: Plugin for a Programming Language
« Reply #15 on: February 19, 2009, 12:09:27 pm »
Good day.

Is there a way to register a new project wizard through a plugin?
If not, how can I make a notion of a project?

Thank you for your attention.

Offline dmoore

  • Developer
  • Lives here!
  • *****
  • Posts: 1576
Re: Plugin for a Programming Language
« Reply #16 on: February 19, 2009, 03:29:09 pm »
take a look at how yop does it in his qtWorkbench plugin

Offline igorevc

  • Multiple posting newcomer
  • *
  • Posts: 23
Re: Plugin for a Programming Language
« Reply #17 on: February 27, 2009, 04:45:27 pm »
Good afternoon.

I need that my plugin use the plugin "scriptedwizard". 
Once my plugin is attached to Code::Blocks, my plugin communicates with "scriptedwizard"
and tries to read my own config.script with just my own wizards.
Since "scriptedwizard", when attached to Code::Blocks, reads his own config.script,
I had the idea to use the "scriptedwizard" plugin to add more wizards.
The question is: is my plan feasable? If so, how can my plugin communicate with "scriptedwizard"?

Thank you for your attention.

Offline igorevc

  • Multiple posting newcomer
  • *
  • Posts: 23
Re: Plugin for a Programming Language
« Reply #18 on: February 28, 2009, 06:36:41 pm »
Good afternoon.

I made the question because I think that using the Code::Blocks "scriptedwizard" can be better than
defining our own version of "scriptedwizard".

Can anyone give me an answer?

Thank you for your attention.

Offline igorevc

  • Multiple posting newcomer
  • *
  • Posts: 23
Re: Plugin for a Programming Language
« Reply #19 on: March 03, 2009, 07:39:23 pm »
Good afternoon.

I have solved, in a manual way, the wizards' problems.

I have a question regarding lexers. I want to create a lexer for an interpretted language, but it seems that
an existing lexer possesses the same file mask as the files this plugin will handle. Same mask but different syntax.
Is that a problem? If so, how can I handle it?

Thank you for your attention.

Offline igorevc

  • Multiple posting newcomer
  • *
  • Posts: 23
Re: Plugin for a Programming Language
« Reply #20 on: March 12, 2009, 06:04:18 pm »
Good afternoon.

I need to create a syntax highlight for my interpretted language that, unfortunatelly, isn't included on wxscintilla.
How can I create a syntax highlight?

Thank you for your attention.

Offline igorevc

  • Multiple posting newcomer
  • *
  • Posts: 23
Re: Plugin for a Programming Language
« Reply #21 on: April 03, 2009, 08:14:21 pm »
Good afternoon.

I'll need that my plugin create a textbox that does the following:
- Keeps the history of recent used commands (throught a list)
- Has a button that, when pressed, executes the current command in the textbox and adds the command to the history
- Is dockable and in the top of the Code::Blocks logs

Can anyone help me out, at least with the textbox?

Thank you for your attention.

Offline dmoore

  • Developer
  • Lives here!
  • *****
  • Posts: 1576
Re: Plugin for a Programming Language
« Reply #22 on: April 03, 2009, 09:42:11 pm »
Good afternoon.

I'll need that my plugin create a textbox that does the following:
- Keeps the history of recent used commands (throught a list)
- Has a button that, when pressed, executes the current command in the textbox and adds the command to the history
- Is dockable and in the top of the Code::Blocks logs

Can anyone help me out, at least with the textbox?

Thank you for your attention.

wxTextCtrl -the question is where do you want to put it? In a toolbar? In a dialog? Take a look at some of the plugins to see how they do it.

also for lexing languages not already supported by scintilla you have to write the lexer yourself. go to the scintilla site to learn how.

Offline igorevc

  • Multiple posting newcomer
  • *
  • Posts: 23
Re: Plugin for a Programming Language
« Reply #23 on: April 04, 2009, 12:27:34 am »
I would like to put it in a window, which would be docked near the logs.
I'm pretty sure that what I need is an editable listbox. Why? Because I want to write the command, push a button and store the used commands. If I want to use the same command, I need to dropdown the list and select it.

About the lexer, I'll postpone because it's not that important.

Offline igorevc

  • Multiple posting newcomer
  • *
  • Posts: 23
Re: Plugin for a Programming Language
« Reply #24 on: April 23, 2009, 05:22:58 pm »
Good afternoon, dmoore.

I downloaded your PowerShell plugin, and played with it.
It seems that it is not yet capable to read and write commands in window mode, unless I'm doing something wrong.
For instance, I tried the cmd.exe and I can't write anything at all on the flatnotebook.
How can I (or you) fix it?

Thank you for your attention.

UPDATE:

It seems, now, that cmd.exe works but it doesn't take any input.
« Last Edit: April 23, 2009, 05:50:10 pm by igorevc »

Offline dmoore

  • Developer
  • Lives here!
  • *****
  • Posts: 1576
Re: Plugin for a Programming Language
« Reply #25 on: April 24, 2009, 03:02:04 am »
It seems that it is not yet capable to read and write commands in window mode, unless I'm doing something wrong.

it was capable. either I or something in the C::B internals broke something to do with wxKeyEvent interception. I'll look into it.

one thing you need to be wary when you run interpreters is calling the interpreter in an "unbuffered" mode. for e.g., I call python with "python -u myfile.py"

more generally trying to handle interactive I/O the way the powershell plugin does using the limited wxExecute implementation is not really the best way to go. a better approach requires some sort of platform specific terminal emulation, maybe embedding a pre-built terminal emulator inside C::B?

Offline dmoore

  • Developer
  • Lives here!
  • *****
  • Posts: 1576
Re: Plugin for a Programming Language
« Reply #26 on: April 24, 2009, 08:09:31 pm »
It seems, now, that cmd.exe works but it doesn't take any input.

pull down the latest trunk and try again. should work again (but not in all cases).

let me reiterate that this plugin doesn't support full blown terminal emulation. I'd like it to, but am not sure I have time/inclination/ability.

I saw a pretty cool thread demonstrating how to embed the windows cmd.exe app as a window in another app. I'm sure similar could be achieved on linux. This begins to encroach on window manager territory...

Offline igorevc

  • Multiple posting newcomer
  • *
  • Posts: 23
Re: Plugin for a Programming Language
« Reply #27 on: June 11, 2009, 01:51:30 pm »
Good day to everyone.

I'm having a problem with my plugin.

My operating system is Windows XP SP3.
My compiler is MinGW 5.1.4.
First I updated wxWidgets to 2.8.10 (official) and compiled it.
Then, I updated the Code::Blocks source files (through SVN) and compiled Code::Blocks.
Next, I copied wxmsw28u_gcc_custom.dll to devel and ran update.bat.

Finally, within the fresh Code::Blocks build, I rebuild my plugin and tried to install. The problem is the following message:

C:\Aplications\CodeBlocks\src\output/share/codeblocks/plugins/myplugin.dll: not loaded (missing symbols?)

What must I do to resolve this problem?

Thank you for your attention.
« Last Edit: June 11, 2009, 01:54:46 pm by igorevc »

Offline Pecan

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 2750
Re: Plugin for a Programming Language
« Reply #28 on: June 11, 2009, 02:02:46 pm »
Good day to everyone.

I'm having a problem with my plugin.

My operating system is Windows XP SP3.
My compiler is MinGW 5.1.4.
First I updated wxWidgets to 2.8.10 (official) and compiled it.
Then, I updated the Code::Blocks source files (through SVN) and compiled Code::Blocks.
Next, I copied wxmsw28u_gcc_custom.dll to devel and ran update.bat.

Finally, within the fresh Code::Blocks build, I rebuild my plugin and tried to install. The problem is the following message:

C:\Aplications\CodeBlocks\src\output/share/codeblocks/plugins/myplugin.dll: not loaded (missing symbols?)

What must I do to resolve this problem?

Thank you for your attention.


One way is to change the app.cpp line:

"wxLog::EnableLogging(false);" to true , then recompile CB.

An error box will pop up  when your plugin is loaded containing the  missing symbol.


Offline igorevc

  • Multiple posting newcomer
  • *
  • Posts: 23
Re: Plugin for a Programming Language
« Reply #29 on: June 11, 2009, 06:29:29 pm »
Good afternoon.

I did change wxLog::EnableLogging(false);" to true.
I tried to install again the plugin and shows a dialog with the error.

The error says that "it is impossible to locate the specified module".

I hope it helps to unravel the solution for this problem.

Thank you for your attention.