Oxygen Basic
Programming => Tools => Topic started by: kryton9 on June 24, 2011, 08:12:10 PM
-
Guys, I spent the last couple of days cleaning out the SciTe properties files and organzing them so it is easy to make changes.
SciTeGlobal.properties - general scite properties are set here, what is visible etc.
These are now located in the IDE subfolder:
Oxygen.properties - you set Keywords in this file.
ThemeLight, ThemeDark.properties - to change color and font settings.
SciTeQuickReference.txt - I wrote this to help use scite easier.
ThemesX.properties - X standing for the type of theme colors, Light, Dark etc. The default uses the light theme.
To change a theme, just comment and uncomment the appropriate lines in Oxygen.properties at the end of the file.
One last thing. I changed the output window from being at the bottom to being on the right side.
I think most of us have widescreen displays and I thought this is a better arrangement.
Update: Oxygen now comes with these files and fixes, so they have been removed from the attachments now.
-
Updated: This post has been changed to reflect the newest things.
There are now 3 default color themes that come with Oxygen. By Default, ThemeStandard is used.
ThemeLight and ThemeDark are available for you to customize to your needs.
[attachment deleted by admin]
[attachment deleted by admin]
[attachment deleted by admin]
-
Ok, I got it so that you can switch between text and oxygen highlighting. I fixed the selection coloring.
I had the code fold margins working for both themes, but somehow along the way they stopped working.
Too tired to figure it out. It must have been something in the Global Properties I added.
I just through these themes together to give users a chance to go in and customize to their hearts content.
With the new text language selection, it is almost like having 3 themes :)
I put all the files into one zip, easier to download and quicker. See the first post.
-
Many thanks for all your work Kent,
I will integrate these Scite files into the system. I have added an IDE folder to hold these files.
May need to fine-tune the lighter colors for visibility.
Charles
-
Make any changes that you see fit Charles. I just sort of put those together as starters. In the coming days as we use it to write code, I am sure we will make changes to the colors and also perhaps find things to adjust. That is why yesterday, I made so many changes. I noticed when I put the themes in, in the dark theme, you didn't see the caret and very hard to see selections, so I had to add that code in to fix that, but then that messed up the code fold margin for dark themes.
-
I updated the first post to reflect new changes I added to the SciTe properties.
New fixes:
I noticed some of my references won't align properly, that is because I use monospace New Courier but SciTe was using verdana. So I made monospace New Courier default and set the default size to 10
don't forget you can increase the size with numpad ctrl + and decrease with numpad ctrl - reset to default size (10) numpad ctrl /
missing parenthesis highlight red
matching parenthesis highlight in magenta
you can now block comment and uncomment code
Select the lines of code to comment, then either do:
Menu:Edit:Block Comment
or use shortcut ctrl-Q this toggles highlighted lines with comments or uncomments
-
Hi Kent,
On the prior releases I made quite a few changes to Oxygen.properties:
1 Removing C keywords
2 Removing redundant keywords
3 Adding new secondary keywords
4 Changing the F5 Execution line so it runs directly from source instead of EXE.
In SciteGlobal I changed verdana to Courier but you have done that anyway.
Thanks!
Charles
-
Kent,
I have added all your files to the system apart from Oxygen.properties. The default theme is ThemeStandard, which gives fairly high contrast characters but not very colourful. These are located in the ide folder.
Charles
-
Thanks Charles, I will use your oxygen and update it with the latest other things if needed.
-
Charles, just add this line to your oxygen.properties. This simple line allows for multi-line commenting and uncommenting via either the menu or ctrl q
I put mine right above the comment: # OXYGEN TOOLS as shown below
comment.block.vb='
# OXYGEN TOOLS
I am going to remove my attachment to the first post since you have it in the oxygen downloads to eliminate any confusion.
-
Done. Thanks Kent.
-
Here is an updated SciTe Quick Reference.
-
Thanks Kent, I will include this in the next O2 later today.
Charles
-
Just found this neat command. I added it to my oxygen.properties, but it could also go into a theme. This way you could have one theme that uses it and another theme that does not.
autocompleteword.automatic=1
Here is where I added it in Oxygen.Properties file:
autocompleteword.automatic=1
comment.block.vb='
##
# OXYGEN TOOLS
It automatically brings up any entry that you already entered. It is very fast and handy. I am reading up on creating an api file, this will bring intellisense to oxygen :)
-
Can't do that in notepad :)
Thanks Kent.
-
I know and here is the kicker....
intellisense.
just place these two file in your ide folder.
make .o2bas file and type in len( or left( or mid(
I also put in the whole opengl and winapi files. I downloaded these, so that was easy. So when you start typing in those functions tips come up too :)
Don't forget these go in the ide folder. This is neat.
Now we need to figure out how to do our classes with their methods next!
You can read more about how this stuff works and looks like in SciTe from here:
http://www.burgaud.com/scite-java-api/ this shows it for Java, but it gives a good idea.
removed attachments, newer version in new post further on the page
-
I just bumped this as not sure if you saw it, since no downloads :)
-
Nice Work! Thanks Kent. I'll include and post it now
Charles
-
Just updated it a little. Not working as I had hoped, but still better than nothing.
As you type, you can press ctrl spacebar it will bring up the autocomplete box and as you type it brings up items for auto completion without having it in the document first.
I added a new syntax to make the tips better.
So for this example: I typed t. then ctrl+spacebar and then GetF and at that point GetFPS showed up in the list. Then I hit enter and typed ( and the tip appeared.
Updated files, so removed the files. The new files are a couple of posts down.
-
Thanks Kent,
I have updated and posted. I spotted a typo in oxygen.properties keywords. I entered fress and corrected it to frees.
Charles
-
That's great. I had fun making this screen capture video. Hopefully it will bring an exciting new way for us to share ideas and instructions.
Video Out of Date, so removed the link:
I made so many changes to both the .api and .properties file, that I decided to upload the latest I have to match what you see in the video.
Updated files again. Check below.
-
Thanks Kent. I have updated these files.
I enjoyed watching your video. Great to hear your voice for the first time. I need to view again to catch the keyboard controls you were using.
I am not mentally geared up for making videos yet but I'll work on it :)
Charles
-
I am glad you enjoyed the video and I am glad you mentioned the keystrokes. I need to find and install a program that displays the keystrokes ontop of the video. It might even be an option for that program. I will check and have it enabled or installed the next video I do. It is nice to see every special key press displayed somewhere.
Something we could do maybe once we figure it out is have a skype or google talk session and record that, like a question and answer or interview style. Having 2 people always makes videos more interesting. With skype for instance you could share your desktop and then what you do I can see and I could record that while we talked.
After making that video and thinking about it... I am going to work on trying to pull out the user made code from the Oxygen.api. This way Oxygen.api would only be changed and maintained by you. Then each user would have their own user.api for their own classes and user defined types.
-
I got the api files working correctly now.
These are the files now:
Oxygen.api - this will be only touched by Charles, for user defined types, classes, methods and keywords Charles writes for Oxygen
OpenGL.api - pulled the opengl stuff into its own api file, only touched by Charles if need be
Win.api - pulled it out also to its own api file, only touched by Charles if need be
User.api - this will be where users add their own user defined types, classes and class methods tips
I updated Oxygen.properties to use the above api files correctly and also updated the reference.
That attachment has been removed as it is now in the Oxygen download updated by Charles.
-
Thanks Kent. Yes dividing the files is a good idea. I have posted the updates including all the Oxygen Basic functions. Low level functions and commands I will leave for another session.
Charles
-
Thanks Charles. I will delete the attachment so it doesn't confuse any new comers since everything is up to date now.
-
Thanks for SciTE for Oxygen Basic.
I work on windows 2000 and publish my binary files for earlier platforms.
Also i have some problem with "Go" command, if executed file have includes and latest opened file is from other directory.
[attachment deleted by admin]
-
Hi Maxim,
Welcome to the forum!
I had not envisaged Oxygen being used in the Windows 2000 platform but most of the examples should run. Some will need GDIplus.dll, as an extra for 2000 and Win98. But PCs of this era must be dying out fairly rapidly.
I am uncertain about the GO problem. Could you give an example?
Charles
-
Hi Charles.
Error with Oxygen.properties file line 70 (basgo="$(SciteDefaultHome)\gxo2" " $(FilePath)").
If open file_name1.o2bas from directory_name1 wich have file_name.inc requirements and open file_name2.02bas from other directory_name2 then Go(F5) command with first file return error see scite_command_go_error.bmp.
If change FilePath scite variable to FileNameExt - see scite_command_go_error2.bmp.
Compile(Ctrl+F7) or Build(F7) is correct and after Go(F5) also is normal.
Maybe something with the current directory.
This problem is not important for me, what about class error and what section of the forum to use for this topic?
[attachment deleted by admin]
-
Thanks Maxim.
Were you using Windows 2000 when you had these problems?
I think I have fixed the AttachObject / Class problem you described in your email. I will post separately.
Charles
-
Were you using Windows 2000 when you had these problems?
yes
I think I have fixed the AttachObject / Class problem you described in your email. I will post separately.
Thanks Charles. This is good news.