Topic: Projects (1 of 10), Read 76 times
Conf: VEDIT Suggestions
From: Lowell Dennis
Date: Thursday, February 27, 2003 02:07 PM

First of all let me say that I am a long time Vedit user (as Ted can attest) and I have been pushing him for project support for a couple of year now. I am one of the lone wolves in my department that does not use CodeWrite or SlickEdit and they both (especially Slick) have project support. I have been trying to win people over to Vedit but with it lack of project support it has been hard.

Anyway, I am a BIOS engineer and the BIOS is composed of hundreds of assembly and C language source files organized into a specific directory structure. While I can create projects with all of these files in them, I appear to be limited to 16 files per invocation of "Add File to Project". Am I missing something? Is there a better way like the "-s" option of the CTAGS macro?

 


Topic: Projects (2 of 10), Read 62 times
Conf: VEDIT Suggestions
From: Lowell Dennis
Date: Thursday, February 27, 2003 04:03 PM

I have another observation as well ...

When I add files from multiple directories to a project there is no way to visually see, in the project view, what directory they reside in.

Lowell
----------
There are 10 kinds of people.
Ones who understand binary and
Ones who don't!

 


Topic: Re: Projects (3 of 10), Read 61 times
Conf: VEDIT Suggestions
From: Ted Green
Date: Thursday, February 27, 2003 04:07 PM

At 04:03 PM 2/27/2003, you wrote:
>When I add files from multiple directories to a project there is no way to visually see, in the project view, what directory they reside in.

We plan on adding this as an option in a future version.

Ted.

 


Topic: Re: Projects (5 of 10), Read 53 times
Conf: VEDIT Suggestions
From: Lowell Dennis
Date: Monday, March 24, 2003 11:18 AM

Ted,

Would you be willing to publish the project file format? It looks fairly straight forward but I'm now 100% sure about some of the binary data. I ask this because it would be nice to be able to convert between different project file formats. For example, your project files are most assuredly different from those used by SlickEdit or other tools.

Lowell
----------
There are 10 kinds of people.
Ones who understand binary and
Ones who don't!

 


Topic: Re: Projects (6 of 10), Read 52 times
Conf: VEDIT Suggestions
From: Christian Ziemski
Date: Monday, March 24, 2003 01:22 PM

On Mon, 24 Mar 2003 11:21:10 -0500, "Lowell Dennis" wrote

>Ted,
>
>Would you be willing to publish the project file format?

That would be nice indeed.

>It looks fairly straight forward but I'm now 100% sure about some of the
binary data.

Me too.
Tom seems to have used some internal/undocumented command variants.
See my other message (I wanted to send them later, but it fits here.)


>I ask this because it would be nice to be able to convert between
>different project file formats. For example, your project files
>are most assuredly different from those used by SlickEdit or
>other tools.

I don't think that would be fully possible.
The project file pairs are generated by PROJSAVE.VDM which may produce
different files in future/every version.


Christian

 


Topic: Re: Projects (8 of 10), Read 52 times
Conf: VEDIT Suggestions
From: Ted Green
Date: Monday, March 24, 2003 05:57 PM

At 11:19 AM 3/24/2003, you wrote:
>Would you be willing to publish the project file format? It looks fairly straight forward but I'm now 100% sure about some of the binary data.

The .PRJ files are pure VEDIT macros.
The Proj_Add() commands add the filenames to the Project tab in the File selector.
The following commands perform an "edit session restore" to restore the cursor position in each buffer, set the correct "Z" order and attach windows to buffers.

The corresponding .DAT files simply contain the text register and buffer contents. If {FILE, Project, Restore full project on open} is disabled, the .DAT file is not even loaded.

The binary data is the contents of text registers 125 and 126 which contain the keyboard layout (binary key codes) and the window data structures.

The .PRJ file is very similar to the veditsav.env file used for the edit-session restore function. The .DAT file is very similar to the veditsav.dat
file.

The project's .PRJ and .DAT files are created by the projsave.vdm macro. Although this is a complex and "tricky" macro and a few commands are
un- or under-documented, we don't try to hide anything. It is certainly possible for a user (with plenty of time and interest) to significantly
change (and improve) how projects work in VEDIT.

>I ask this because it would be nice to be able to convert between different project file formats. For example, your project files are most assuredly different from those used by SlickEdit or other tools.

I have no idea how difficult the conversion would be, but I suspect it would be quite complex. At a bare minimum, you would need to create a .PRJ file with Proj_Add() commands, and probably some File_Open() commands.

Ted.

 


Topic: Re: Projects (4 of 10), Read 75 times
Conf: VEDIT Suggestions
From: Christian Ziemski
Date: Tuesday, November 11, 2003 04:29 PM


To add MANY files to a project I just wrote PROJFILL.VDM.
http://ziemski.privat.t-online.de/vedit/macros/projfill.vdm

It came to life within the last 30 minutes (and it's still beta!)

First open a project and then execute the macro. It asks you to type
in a directory name and to decide whether to include subdirectories.

Then it adds all those files to the project...


Perhaps it can help you.


Christian

 


Topic: Re: Projects (7 of 10), Read 51 times
Conf: VEDIT Suggestions
From: Christian Ziemski
Date: Monday, March 24, 2003 01:22 PM

Ted:

I studied PROJSAVE.VDM a bit. Fascinating!!

But there are a few questions open.

When you have some time after release of 6.10 (and are willing of
course!!!) it would be nice if you would be so kind to answer them.

Since I refer to undocumented features I assume they are for internal
use only. But I'm just interested to know the meaning.


1) These two special command variants are not really clear to me:

RCB(0,0,0,EXTRA) // Get buffer dependent config values
Reg_Save(0," ",APPEND) // Save buffer dependent parameters

T-Reg 0 isn't filled when I call it manually.
And there is no file " " created. In fact that isn't possible.

What do they exactly do?

----

2)

I understand that in the special case

Reg_Load_Part(132,"D:\Vedit\projects\Test2.dat",8694,5,NOERR)

T-Reg 129 is handled as Buffer 1
T-Reg 130 is handled as Buffer 2
etc.

So the command loads 5 bytes into (unnamed) buffer 4.
Is that correct?

----

3)

And the combination of T-Reg 0 with "LOCAL" means the current buffer's
parameter block.

So
Reg_Load_Part(0,"D:\Vedit\projects\Test2.dat",8699,186,NOERR+LOCAL)
loads always the 186 special bytes for the current buffer.

Correct?

----


That's it. For now ;-)


Oh no. Another look into a prj file shows at the end:

if(OS_Type==1 && Is_Win32==1 && Version_Num==610) {
Reg_Load_Part(126,"d:\vedit\projects\remote_edit.dat",45577,640,NOERR)
} else { Screen_Init(ATTACH) }
}

Wouldn't it be better to use a "Version_Num>=610" here?
Otherwise the future 6.20 could fail here?


Cheers

Christian

 


Topic: Re: Projects (9 of 10), Read 55 times
Conf: VEDIT Suggestions
From: Ted Green
Date: Monday, March 24, 2003 06:35 PM

At 01:23 PM 3/24/2003, you wrote:
>I studied PROJSAVE.VDM a bit. Fascinating!!

(This is an extremely technical discussion.)

You should then also see the very similar veditsav.vdm macro.

>Since I refer to undocumented features I assume they are for internal
>use only. But I'm just interested to know the meaning.

Yes, they are "undocumented". They might change in the future. They are so specialized and limited, that I don't think they are of much value in normal macros.

>1) These two special command variants are not really clear to me:
>
>RCB(0,0,0,EXTRA) // Get buffer dependent config values

This command only works after Save_Env(). Each buffer has about 30
buffer-dependent config parameters plus tab stops. This command places the binary 4-byte values into text register 0.

>Reg_Save(0," ",APPEND) // Save buffer dependent parameters

When opening a project (or restoring an edit-session), the Reg_Load_Part(r,"file",offset,len,LOCAL) command then restores the buffer-dependent values. (Otherwise, each buffer would have needed about 30 Config() commands.)

Following a Save_Env() command the Reg_Save(0,"filename") command keeps the file open. The Reg_Save(r," ",APPEND) commands then appends to end of the still-open file. That is how the .DAT files are built.

>I understand that in the special case
>
> Reg_Load_Part(132,"D:\Vedit\projects\Test2.dat",8694,5,NOERR)
>
> T-Reg 129 is handled as Buffer 1
> T-Reg 130 is handled as Buffer 2
> etc.
>
>So the command loads 5 bytes into (unnamed) buffer 4.
>Is that correct?

Yes. The contents of buffers, which don't have open files, is restored this way.

>And the combination of T-Reg 0 with "LOCAL" means the current buffer's
>parameter block.

Yes, as I said earlier.

>So
> Reg_Load_Part(0,"D:\Vedit\projects\Test2.dat",8699,186,NOERR+LOCAL)
>loads always the 186 special bytes for the current buffer.

Yes. It appears the buffer-dependent parameters, the tab stops and a few other items total 186 bytes. Congratulations, you figured it all out. Unfortunately, there is no prize. ;-)

>Oh no. Another look into a prj file shows at the end:
>
>if(OS_Type==1 && Is_Win32==1 && Version_Num==610) {
>Reg_Load_Part(126,"d:\vedit\projects\remote_edit.dat",45577,640,NOERR)
>} else { Screen_Init(ATTACH) }
>}

No. Register 126 is the window data structure. Since loading an invalid structure will crash VEDIT, we have to carefully check the version number. If the version number doesn't exactly match, we just perform a Screen_Init(). This won't restore custom window positions, but few users would notice it; and it is only applicable when updating to a new version of VEDIT.

Therefore, each new version of VEDIT has a new projsave.vdm and veditsav.vdm macro.

Ted.

 


Topic: Re: Projects (10 of 10), Read 55 times
Conf: VEDIT Suggestions
From: Christian Ziemski
Date: Tuesday, March 25, 2003 03:53 AM

On Mon, 24 Mar 2003 18:38:27 -0500, Ted Green wrote:

>[Answers to my questions about PROJSAVE.VDM]

Thank you for all the infos!

>Congratulations, you figured it all out.
>Unfortunately, there is no prize. ;-)

Oooh. ;-(
But a price is not important. ;-)
Sometimes I'm just curious in technical things.


Christian