Jump to content
Tom_48_97

Poseidon: advanced text editor for Scripts & Configs

Recommended Posts

Just popped in to say my thanks for you tom, your work enables me to work faster.

Share this post


Link to post
Share on other sites
@tom_48_97

Is it possible to add a feature that work like Squint?

Specially i mean finding errors.

That would be the cream topping for this incredible nice editor.

https://docs.google.com/presentation/d/1NdxPXJM1zWQgdHNO1SCLazXPkooRYuGV8bH0gVWL1OU/present#slide=id.i0

God i miss squint. It was so useful but i fear it's more than just a feature request. It would probably require a vast amount of work.

Share this post


Link to post
Share on other sites
God i miss squint. It was so useful but i fear it's more than just a feature request. It would probably require a vast amount of work.

Yeah maybe i don't know :S

But >IF< that will be the cream topping. =D

Share this post


Link to post
Share on other sites

About something like Squint, that's in the pipe but it's very very long to develop. I need to write a parser, an "external" soft (integrated like FSM editor or TexView) and then, connect the application to Poseidon. Plus, I've also some big tasks to do like migrate to ST3's engine, SVN, integrate the tools suite of Mikero and so on...

In consequence: Thank you for your understanding and your patience :)

BTW, in late, as usual, next update should come shortly, at least, in order to include latest commands and treat some bugs.

Share this post


Link to post
Share on other sites

Been searching a bit , just figured I would ask. When I try copy and paste or anything similar to that it doesn't work. Even if I right click and try to paste doesn't do anything? Do I have to edit something to get this to work.

Share this post


Link to post
Share on other sites

What sort of time scale before we see an update Tom. Weeks or months?

Share this post


Link to post
Share on other sites
About something like Squint, that's in the pipe but it's very very long to develop. I need to write a parser, an "external" soft (integrated like FSM editor or TexView) and then, connect the application to Poseidon. Plus, I've also some big tasks to do like migrate to ST3's engine, SVN, integrate the tools suite of Mikero and so on...

In consequence: Thank you for your understanding and your patience :)

BTW, in late, as usual, next update should come shortly, at least, in order to include latest commands and treat some bugs.

Blimey. You are planning to make this even more feature filled than it already is! This is excellent. :)

Share this post


Link to post
Share on other sites

@Terox: I'm about rewriting all the config handling and I don't know if I release a version before doing it. If not, I think a week (or less), if yes, it will be 2 weeks.

@Cunico: Weird, I never heard about such problem. What OS do you use? Are on an admin account (try to start Poseidon as Administrator)? Did you tried CTRL+D (duplicate)?

Share this post


Link to post
Share on other sites

This is excellent, I tried starting a gui editor for sqf before using .net and scintillaNET but man was that a pain to deal with (also got stuck on what parser generator to use for error parsing, boost spirit was too much for me)

This is the layout I had always imagined - it feels like im working in visual studio all over again (yay)

although I have some suggestions for things that I wanted for such a long time:

- show all setVariable names on whatever obj/variable you are highlighting (similar to peaking at an objects methods in OO oriented languages) I use setVariable and getVariable a lot for making pseudo objects in sqf, being able to see everything the object holds would be soo convenient!

- description.ext generator - some sort of menu that lets you select what classes to add (ie. CfgFunctions, CfgMusic) then maybe some input for class names and some settings and poof - generates the necessary code. A lot of the time any work in description.ext is more or less boiler plate with some value changes for whatever parameters/class names you're using. Having a way to auto generate the boring stuff while adding the important parts would be extremely convenient. Perhaps let us be able to import our own tools into Poseidon?

Other than that, the layout is fantastic, definitely watching this like a hawk!

Share this post


Link to post
Share on other sites

Glad to read so enthusiastic message, thank for using Poseidon ;)

1/ I'm not really sure about what do you want to mean by setVariable? Maybe highlight all variables (from setVariable) when one is selected? If yes, there is a trick, select one and use one of these shortcuts:

  • CTRL+D select word (repeat select others occurrences in context for multiple editing)
  • ALT+F3 add all occurrences of the current word to the selection

Selections are highlighted in minimap and file content.

http://poseidon.arma3.fr/documentation/shortcuts/

2/ Mission config generator is not really this is not really the responsibility of Poseidon but I can do something similar to file/function header. There is a snippet that add file heading (just create a new Arma file (sqf/ext...) and type header, you will get the auto-completion), based on user parameters (Menu >> Poseidon >> Preferences >> Profile) to define some default values, but this should be ideally handled by a third party software.

On the fly, it could be that the update is delayed in reason of unexpected tasks/bug hunting on other projects, I'm sorry for that.

Share this post


Link to post
Share on other sites
Glad to read so enthusiastic message, thank for using Poseidon ;)

1/ I'm not really sure about what do you want to mean by setVariable? Maybe highlight all variables (from setVariable) when one is selected? If yes, there is a trick, select one and use one of these shortcuts:

Something like having your cursor over a variable after a certain amount of time (like mouseOver event) displays a small listbox of all setVariable's on it.

For example if in my code I have

obj setVariable ["name", "lala"];
obj setVariable ["task", _task];
obj setVariable ["position", _pos];
// ... etc

then highlighting obj anywhere in the code would display a small listbox

-variables-

name

task

position

...

this helps manage lots of variables that were setVariable'd so you don't have to re-check your spelling. Also gives you a nice overview of what the 'object' is currently holding

2/ That makes sense, I was thinking it also be a third party extension (maybe being able to run it from within Poseidon?)

I'm not sure if I will finish mine that I started a while ago, but being able to plug it into the editor would make it really convenient

Share this post


Link to post
Share on other sites

Announcement

A while ago I didn’t published an update of Poseidon, this time, not because of lack of feedback (even if some are really pointless) but in reason of time… As usual, it's still hard to find enough time to work on community projects.

So, what’s new here? Firstly, some codes have been optimized for Windows 8+ and Windows 2012, to improve the process a bit (now occupy 24Mb of RAM at startup against 35 before).

Then, all commands references were updated to the latest version (development branch, 1.15.116348), including base functions (bis_fnc_*) and Zeus content.

Another major modification is the snippet syntax, it now uses compact syntax. That means when you use, for example, if snippet (CTRL+G, if or if… tab), the result will be:

if (/* condition */) Then {
  /* code */
};

Instead of

if (/* condition */) Then
{
  /* code */
};

I also made some small changes like the possibility to open one of the 20 last files opened (10 last projects), removed some unused charsets and the main menu.

Last feature but not least is the file-diff, for the moment, I don’t have enough time to document it, but basically, you can use compare a file with clipboard content, a file in the project or another opened file… And of course, diff syntax gets its own highlight ^^

Note(s):

- A clean install is needed for this version (do not keep any file from previous version)

What's new?

  • ADDED: Commands for Arma 3 version: 1.06, 1.08, 1.10, 1.14 (and 1.12, 1.16 (rev. 116294))
  • ADDED: Auto completion for bis_fnc_* (including Zeus DLC) (based on this list)
  • ADDED: Link to Zeus documentation (Curator) (Poseidon >> Other documentation >> Zeus Editing (Curator))
  • ADDED: Some content to \Docs & Licences folder
  • IMPVD: Ms Windows 8, Ms Windows 8.1 & Ms Windows 2012 R2 compatibility
  • CHNGD: “Compact syntax†for Snippets
  • CHNGD: Links for functions and modules documentation
  • CHNGD: You can now open one of the 20 last opened files (was 8 before)
  • CHNGD: You can now open one of the 10 last opened folders (was 8 before)
  • RMVED: Some unused charset
  • CHNGD: Background of BIS default color scheme
  • CHNGD: Bin directory is now \Data\Packages\Bin\
  • CHNGD: Now possible to go to the 20 last bookmarks through the menu (was 15 before)
  • CHNGD: Now possible to switch between the 10 last saved projects (was 5 before)
  • IMPVD: Ext support (mission config files)
  • FIXED: inheritance highlight in EXT and configs
  • FIXED: A lot of issues (I bet on new one too ^^)
  • CHNGD: Menu item Help > View Help (poseidon) now open the online documentation
  • FIXED: Preprocessor (#(.*)) highlight
  • IMPVD: I’m too lazy to list them all!

Download

Ps: Yes, this update comes early compared to what was planned, but I needed to fix my planning to satisfy everyone ^^

Edited by tom_48_97

Share this post


Link to post
Share on other sites

I can't get the associations to work. I've run the assoc_all with poseidern file and accepted all it's requests and got no errors, but all my sqf still open in notepad++.

I've tried running it as admin, and restarting after doing it. The readme mentions edit_file_assoc.bat which I can't find but I'm guessing that's just an out of date readme.

Can you help at all? If I'm honest, I've never managed to associate sqf with poseiden - this problem is not new to this version.

---------- Post added at 14:29 ---------- Previous post was at 14:14 ----------

Ah ok. I fixed it. This is a problem when you copy paste the directory. The registry doesn't know it's moved.

I had to edit the registry to show windows the new location of Poseiden then do the open with/ choose default program thing.

Registry location: Modify at your own risk! Manually editing the registry can result in the loss of your home/penis/friends/windows

Computer\HKEY_CLASSES_ROOT\Applications\Poseiden\shell >open > default. Change the file location to be correct

I don't know if it's relevent, but running Poseidens assoc with bats AFTER doing the above seemed to put the file associations back to notepad!

Share this post


Link to post
Share on other sites

File type association is something I made as quick & dirty and the result is so dirty that... it doesn't work for everyone :yay: So, yes manual file association is a solution, but from my point of view, a temporary one because users shouldn't have to do that.

In order to prepare a new/fixed version, could you download this file, run it and post results here? It'll open notepad with the results inside when script will be done.

Then, \Poseidon\run_once\assoc_<EXTENSION>_with_poseidon.bat should be run every time Poseidon folder is moved, I should delete the content of Keys folder after usage, my bad.

ps: ignore the script content & comments, it's just a lite script I edited on the fly.

Share this post


Link to post
Share on other sites

Same here Assoc bat doesn't work.

And with your file after "Poseidon.exe..." nothing happens.

And no txt files ect

Share this post


Link to post
Share on other sites

The search can be very very long, just be patient, it search into all HKCR entries to find any value containing "poseidon.exe"

Share this post


Link to post
Share on other sites

Thanks for informing us about the release :cool:

New version frontpaged on the Armaholic homepage.

===================================================

We have also "connected" these pages to your account on Armaholic.

This means in the future you will be able to maintain these pages yourself if you wish to do so. Once this new feature is ready we will contact you about it and explain how things work and what options you have.

When you have any questions already feel free to PM or email me!

Share this post


Link to post
Share on other sites
searchKey.bat 
------------------------------------------------ 
file assoc: 
------------------------ 

HKEY_CLASSES_ROOT\.sqm
   (Standard)    REG_SZ    Arma File


HKEY_CLASSES_ROOT\.xml
   (Standard)    REG_SZ    Arma File
   Content Type    REG_SZ    text/xml
   PerceivedType    REG_SZ    text

HKEY_CLASSES_ROOT\.xml\PersistentHandler
   (Standard)    REG_SZ    {7E9D8D44-6926-426F-AA2B-217A819A5CCE}


HKEY_CLASSES_ROOT\.sqf
   (Standard)    REG_SZ    Arma File


HKEY_CLASSES_ROOT\.sqs
   (Standard)    REG_SZ    Arma File


HKEY_CLASSES_ROOT\.ext
   (Standard)    REG_SZ    Arma File

HKEY_CLASSES_ROOT\.ext\PersistentHandler
   (Standard)    REG_SZ    {5e941d80-bf96-11cd-b579-08002b30bfeb}


HKEY_CLASSES_ROOT\.hpp
   PerceivedType    REG_SZ    text
   (Standard)    REG_SZ    Arma File

HKEY_CLASSES_ROOT\.hpp\PersistentHandler
   (Standard)    REG_SZ    {5e941d80-bf96-11cd-b579-08002b30bfeb}


HKEY_CLASSES_ROOT\.cpp
   PerceivedType    REG_SZ    text
   (Standard)    REG_SZ    Arma File

HKEY_CLASSES_ROOT\.cpp\PersistentHandler
   (Standard)    REG_SZ    {5e941d80-bf96-11cd-b579-08002b30bfeb}

------------------------------------------------ 
file type: 
------------------------ 

HKEY_CLASSES_ROOT\Arma File
   (Standard)    REG_SZ    filetype description

HKEY_CLASSES_ROOT\Arma File\DefaultIcon
   (Standard)    REG_SZ    D:\Tools\ArmaProgramming\Poseidon\poseidon.exe,0

HKEY_CLASSES_ROOT\Arma File\shell

HKEY_CLASSES_ROOT\Arma File\shell\open

HKEY_CLASSES_ROOT\Arma File\shell\open\command
   (Standard)    REG_SZ    "A:\BI Tools\latest\Poseidon\poseidon.exe" "%1"

------------------------------------------------ 
Poseidon.exe: 
------------------------ 

HKEY_CLASSES_ROOT\Applications\poseidon.exe

HKEY_CLASSES_ROOT\Applications\poseidon.exe\shell\open\command
   (Standard)    REG_SZ    "D:\Tools\ArmaProgramming\Poseidon\poseidon.exe" "%1"

HKEY_CLASSES_ROOT\Arma File\DefaultIcon
   (Standard)    REG_SZ    D:\Tools\ArmaProgramming\Poseidon\poseidon.exe,0

HKEY_CLASSES_ROOT\Arma File\shell\open\command
   (Standard)    REG_SZ    "A:\BI Tools\latest\Poseidon\poseidon.exe" "%1"

HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\Shell\MuiCache
   D:\Tools\ArmaProgramming\Poseidon\poseidon.exe    REG_SZ    Sublime Text 2

Suchvorgang abgeschlossen: 5 Âbereinstimmende Zeichenfolge(n) gefunden.

Share this post


Link to post
Share on other sites

Thanks very much for the effort and time you spend bringing us this great tool

Works great after a clean install.

Share this post


Link to post
Share on other sites

Thanks for support!

Legion1337: I think I figured out what's going wrong with that, I just wait for the result of Tankbuster to be sure. D:\Tools\ArmaProgramming is your install path whereas A:\BI Tools\latest\Poseidon is my working path, I think the solution is here and it explains why it works like a charm for me and not at all for you.

Igneous01:I will investigate to see what's feasible, but this isn't a priority because the solution will probably be an external "addon/addin" and I have already a load of tasks to achieve before start working on new features, I keep you posted (if not, just ask ^^)

Share this post


Link to post
Share on other sites
I think I figured out what's going wrong with that, I just wait for the result of Tankbuster to be sure.

Agh! I thought I done this yesterday!

searchKey.bat

------------------------------------------------

file assoc:

------------------------

HKEY_CLASSES_ROOT\.sqm

(Default) REG_SZ Arma File

HKEY_CLASSES_ROOT\.xml

(Default) REG_SZ Arma File

Content Type REG_SZ text/xml

PerceivedType REG_SZ text

HKEY_CLASSES_ROOT\.xml\OpenWithList

HKEY_CLASSES_ROOT\.xml\OpenWithList\winword.exe

(Default) REG_SZ

HKEY_CLASSES_ROOT\.xml\PersistentHandler

(Default) REG_SZ {7E9D8D44-6926-426F-AA2B-217A819A5CCE}

HKEY_CLASSES_ROOT\.sqf

(Default) REG_SZ Arma File

HKEY_CLASSES_ROOT\.sqs

(Default) REG_SZ Arma File

HKEY_CLASSES_ROOT\.ext

(Default) REG_SZ Arma File

HKEY_CLASSES_ROOT\.ext\PersistentHandler

(Default) REG_SZ {5e941d80-bf96-11cd-b579-08002b30bfeb}

HKEY_CLASSES_ROOT\.hpp

(Default) REG_SZ Arma File

PerceivedType REG_SZ text

HKEY_CLASSES_ROOT\.hpp\PersistentHandler

(Default) REG_SZ {5e941d80-bf96-11cd-b579-08002b30bfeb}

HKEY_CLASSES_ROOT\.cpp

(Default) REG_SZ Arma File

PerceivedType REG_SZ text

HKEY_CLASSES_ROOT\.cpp\PersistentHandler

(Default) REG_SZ {5e941d80-bf96-11cd-b579-08002b30bfeb}

------------------------------------------------

file type:

------------------------

HKEY_CLASSES_ROOT\Arma File

(Default) REG_SZ filetype description

HKEY_CLASSES_ROOT\Arma File\DefaultIcon

(Default) REG_SZ C:\Program Files (x86)\poseidon_v0.64.781\latest\Poseidon\poseidon.exe,0

HKEY_CLASSES_ROOT\Arma File\shell

(Default) REG_SZ open

HKEY_CLASSES_ROOT\Arma File\shell\edit

HKEY_CLASSES_ROOT\Arma File\shell\edit\command

(Default) REG_SZ "C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\MSOXMLED.EXE" /verb edit "%1"

HKEY_CLASSES_ROOT\Arma File\shell\open

HKEY_CLASSES_ROOT\Arma File\shell\open\command

(Default) REG_SZ "A:\BI Tools\latest\Poseidon\poseidon.exe" "%1"

HKEY_CLASSES_ROOT\Arma File\ShellEx

HKEY_CLASSES_ROOT\Arma File\ShellEx\IconHandler

(Default) REG_SZ {AB968F1E-E20B-403A-9EB8-72EB0EB6797E}

------------------------------------------------

Poseidon.exe:

------------------------

HKEY_CLASSES_ROOT\Applications\poseidon.exe

HKEY_CLASSES_ROOT\Applications\poseidon.exe\shell\open\command

(Default) REG_SZ "C:\Program Files (x86)\poseidon_v0.64.781\latest\Poseidon\poseidon.exe" "%1"

HKEY_CLASSES_ROOT\Arma File\DefaultIcon

(Default) REG_SZ C:\Program Files (x86)\poseidon_v0.64.781\latest\Poseidon\poseidon.exe,0

HKEY_CLASSES_ROOT\Arma File\shell\open\command

(Default) REG_SZ "A:\BI Tools\latest\Poseidon\poseidon.exe" "%1"

HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\Shell\MuiCache

D:\My Downloaded Files\text editors\latest\Poseidon\poseidon.exe REG_SZ Sublime Text 2

D:\My Downloaded Files\text editors\poseidon_v0.61.512\latest\Poseidon\poseidon.exe REG_SZ Sublime Text 2

D:\My Downloaded Files\text editors\poseidon_v0.62.583\latest\Poseidon\poseidon.exe REG_SZ Sublime Text 2

C:\Program Files (x86)\poseidon_v0.64.781\latest\Poseidon\poseidon.exe REG_SZ Sublime Text 2

HKEY_CLASSES_ROOT\XEV.GenericApp\DefaultIcon

(Default) REG_SZ D:\My Downloaded Files\text editors\poseidon_v0.62.583\latest\Poseidon\poseidon.exe,0

HKEY_CLASSES_ROOT\XEV.GenericApp\shell\open\command

(Default) REG_SZ "A:\BI Tools\latest\Poseidon\poseidon.exe" "%1"

HKEY_CLASSES_ROOT\XEV.OriginalApp\DefaultIcon

(Default) REG_SZ D:\My Downloaded Files\text editors\poseidon_v0.62.583\latest\Poseidon\poseidon.exe,0

HKEY_CLASSES_ROOT\XEV.OriginalApp\shell\open\command

(Default) REG_SZ "A:\BI Tools\latest\Poseidon\poseidon.exe" "%1"

End of search: 12 match(es) found.

Share this post


Link to post
Share on other sites

Ok, thanks Tankbuster, it's a remain from my dev environment that breaks the assoc.

A hot-fix is available: http://tom4897.info/?attachment_id=2166

In the archive, you will find a folder named "run_once", like the one you have in your Poseidon installation... Just copy/paste (replace all) and run again the assoc.

Share this post


Link to post
Share on other sites

the results of the script allowed me to see there was a static reference to my dev environment :) Windows registry is painful and change from an OS to another.

I don't know how I missed a so big mistake :yay:

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×