1. RedyCode 1.0 behind schedule

Unfortunately, RedyCode will not be redy on time. I have been so busy with Propeller micro-controller programming and research, i haven't done any Euphoria programming at all in the last 2 months. My plans haven't changed at all, just postponed.

new topic     » topic index » view message » categorize

2. Time to finish RedyCode 1.0

I'm finally back to work on RedyCode. Here's a quick review of where i left off and what needs to be done for the 1.0 release:

Significant features that have been finished:

  • Pure euphoria GUI that is stable and efficient. Window positions are remembered automatically. When bound or compiled, startup time is very fast. Memory and cpu usage is very low.
  • Project system that helps you organize your source code, documentation, and other needed files. Built-in bmp image viewer and creole-like formatted text editor.
  • Source tree to easily browse project source files and include files. Files outside the project are opened in read-only mode by default to protect against accidental edits.
  • Syntax-highlighting text editor with line numbers, wordwrap, bookmarks, and support for several types of syntax.
  • A section of text can be edited in a separate window. When the window is closed, the original text is updated.
  • Unique navigation design that shows lists of information to make it easy to jump to routines, bookmarks, and search results at any time.
  • Compatible with eu 4.0.5 and 4.1.0 beta (32-bit only). As far as i know, it runs on any version of windows (XP or newer) and on WINE.
  • Portable (can be run off a flash drive, for example) and automatically works with your default euphoria installation or can have euphoria bundled with it.
  • Programs can be run directly from RedyCode with crash report support.
  • Clipboard history and saved clips that can be easily pasted one or more at a time. Clips can be combined or split apart by newline characters.
  • Unique Euphoria build system that makes it easy to set build options and preview the build script, manifest, and resource file. You can clearly see what it is going to do and exactly what files are going to be used before you click Build.

What needs to be finished:

  • Add undo/redo engine
  • Add ability to save/load universal clips and per-project clips.
  • Improve hotkeys and toolbar customization
  • Fix some syntax-highlighting and creole formatting issues
  • Possibly add auto-complete features
  • Allow GUI font size adjustments
  • Improve dark GUI color scheme
  • Improve the toolbar icon set
  • Add import/export/backup/restore features to project manager
  • Add project template editor (Use an existing project to create a project template)
  • Fix a few issues with project settings. Add ability to remember bookmarks, clips, and currently open files when a project is closed.
  • Optimize word wrap. It is really slow on large files. sad
  • Write documentation, demo projects, and templates
  • Beta test
  • Update website with much better screenshots and information

I am guessing this will probably be done in about 3-4 months. It is exciting to think that after all these years, it is so close to being version 1.0!

new topic     » goto parent     » topic index » view message » categorize

3. Re: Time to finish RedyCode 1.0

Very nice to see progress being made on Redy. I look forward to seeing the final result.

new topic     » goto parent     » topic index » view message » categorize

4. Re: Time to finish RedyCode 1.0

Hi Ryan

Will it be closed or open? (guess where I'm going with this)

Cheers

Chris

new topic     » goto parent     » topic index » view message » categorize

5. Re: Time to finish RedyCode 1.0

ChrisB said...

Hi Ryan

Will it be closed or open? (guess where I'm going with this)

Cheers

Chris

Open source, Apache License, Version 2.0.

new topic     » goto parent     » topic index » view message » categorize

6. Re: Time to finish RedyCode 1.0

Icy_Viking said...

Very nice to see progress being made on Redy. I look forward to seeing the final result.

I forgot to mention a few things:

  • The focus of RedyCode 1.0 is to be a generic Euphoria IDE. It has a few extra features for RedyLib-based projects, but RedyLib is not required for your projects.
  • RedyLib itself will not be "officially supported" in version 1.0. I'm happy to answer any specific questions you have if you decide to try it. But i just don't have the time to write complete documentation and demos. Besides, i plan to make significant changes to the GUI API later this year.
  • RedyLib and the RedyCode source will probably be bundled together as a separate download from the official RedyCode 1.0.0 final release.
  • I would like to get RedyCode working with Phix, too. smile
new topic     » goto parent     » topic index » view message » categorize

7. Re: Time to finish RedyCode 1.0

ryanj said...
Icy_Viking said...

Very nice to see progress being made on Redy. I look forward to seeing the final result.

I forgot to mention a few things:

  • The focus of RedyCode 1.0 is to be a generic Euphoria IDE. It has a few extra features for RedyLib-based projects, but RedyLib is not required for your projects.
  • RedyLib itself will not be "officially supported" in version 1.0. I'm happy to answer any specific questions you have if you decide to try it. But i just don't have the time to write complete documentation and demos. Besides, i plan to make significant changes to the GUI API later this year.
  • RedyLib and the RedyCode source will probably be bundled together as a separate download from the official RedyCode 1.0.0 final release.
  • I would like to get RedyCode working with Phix, too. smile

All in all, sounds pretty good. I'll probably give it a shot once it gets released. Keep up the good work.

new topic     » goto parent     » topic index » view message » categorize

8. Re: Time to finish RedyCode 1.0

ryanj said...
  • I would like to get RedyCode working with Phix, too. smile

I should warn you that is not likely to be trivial. Some quick tips follow.
First you will need to hide /std from Phix (but not OE), eg

--/* 
include std/dll.e 
include std/machine.e 
--*/ 

There is no way Phix can support all of std/, the best I can do is extract individual routines one at a time, as needed.
Of course all the ones that get used the most often have already been done.

Second, you'll need a bodged euphoria/info.e, specifically

--/**/constant version_info = {0,0,0,0,0,0,"unknown",0} --/* 
constant version_info = machine_func(M_EU_INFO, {}) --*/ 

and

global function arch_bits() 
--/**/  return sprintf( "%d-bit", machine_bits() )  --/* 
        return sprintf( "%d-bit", 8 * sizeof( C_POINTER ) ) --*/ 
end function 

Thirdly, you will probably need a fair bit of sequence-op stuff such as

--/**/  plblpos = sq_add(wrect[1..2],wcprops[wcpLabelPos][idx])     --/* 
        plblpos = wrect[1..2] + wcprops[wcpLabelPos][idx]           --*/ 

Lastly, Phix has recently (possibly temporarily) ditched "without warning".
To avoid warnings on implicit forward calls, make them explicit.
Just copy the declaration line higher up, prefixed with forward, eg:

forward procedure update_var(string name) 
... 
      update_var(xxx) 
... 
procedure update_var(string name) 
end procedure 

The recent experience with Judith's IDE on Phix went much more smoothly than I expect RedyCode will, because it was all 3.0-compatible code (and no std/).

Pete

new topic     » goto parent     » topic index » view message » categorize

9. Re: Time to finish RedyCode 1.0

Hi

An interesting challenge then.

Cheers

Chris

new topic     » goto parent     » topic index » view message » categorize

10. Re: Time to finish RedyCode 1.0

The Undo feature works now! I would release an update, but there are a few unrelated bugs i want to fix first. I will probably release an update in a few days, and a few more updates in the next few weeks. I am trying to finish some new features as soon as possible. There will be noticeable improvements to RedyCode, so stay tuned for more updates!

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu