UEStudio using UE wordfile (shows PHP defines()?)

UEStudio using UE wordfile (shows PHP defines()?)

5
NewbieNewbie
5

    Oct 23, 2006#1

    Two odd questions that I haven't been able to find in the forums.

    UEStudio imported my UE settings, and both are installed on my system. For some reason UEStudio is using my UE wordfile, and loading it from the UE installation directory. I can't find any way to change this from within the app - is this a bug or a feature?

    Even more oddly UE is now not showing any functions in my function list.

    And for some reason my function list for PHP files contains all my defines.

    Code: Select all

    define('MYSQL_ER_HASHCHK', 1000);
    Leads to an MYSQL_ER_HASHCHK entry in my Function list.

    Is any of this normal? I feel like UEStudio has somehow corrupted things for both it and UE.

    6,686585
    Grand MasterGrand Master
    6,686585

      Oct 24, 2006#2

      The wordfile can be specified at Advanced - Configuration - Editor Display - Syntax Highlighting. Are you sure UEStudio uses the same wordfile because it's not default. Only the standard wordfile.txt is identical for UEStudio and UltraEdit, but not the location of the wordfile.txt.
      Best regards from an UC/UE/UES for Windows user from Austria

      5
      NewbieNewbie
      5

        Oct 24, 2006#3

        I trashed my settings and started over without importing from UE and it seemed to fix this, and my other issue (PHP defines showing up in the function list). It was definitely using the UE wordfile though, ColdFusion was listed in the Highlighting menu and it was only in my UE wordfile, not UEStudio.

        UEStudio (and UE) have a bug that the developers are working on where doing a find/replace for {2,} (or any other number) with PCRE reg exp crashes the app. UEStudio crashed b/c of this on my first launch after the initial import from UE and I am fairly sure that is when my settings were corrupted.

          Oct 24, 2006#4

          I have take that back, UEStudio with fresh settings still shows PHP define()'s in the function list.

          Code: Select all

          define('AAA', 3); 
          Will result in

          Code: Select all

          AAA(3)
          in the function list.

          6,686585
          Grand MasterGrand Master
          6,686585

            Oct 24, 2006#5

            Hm, the PHP language definition in standard wordfile.txt contains only 2 UE style regular expression function strings:

            /Function String = "%[^t ]++function[^t ]+^([a-z0-9_&]+^)"
            /Function String 1 = "%[^t ]++function[^t ]+^([~{]+^)"

            As you can see a PHP function must have the word "function" at start of the line with or without preceding spaces/tabs. So your defines should not be found with the PHP function strings.

            Are your defines really within a PHP section?

            You know, files with the extension PHP are highlighted as HTML files with the multi-language support enabled (HTML, PHP, CSS, VBScript Active Server Pages, ...).

            So if your defines are not within

            Code: Select all

            <?PHP
            
            ?>
            the regex function strings from an other language adds the defines to the function list. You can easily check this by selecting at View - View As (Highlighting File Type) the language PHP instead of HTML and press key F8 to update the function list.
            Best regards from an UC/UE/UES for Windows user from Austria

            5
            NewbieNewbie
            5

              Oct 24, 2006#6

              It's bizarre. I'm using the included wordfile, I've only added Tcl/Tk. The defines were between <? and ?>, I changed that to <?PHP ?> and there was no difference. PHP is the highlighting being used, you can view a screenshot here.

              FYI I get an error when trying to upload an attachment.


              One followup, I've removed all other languages from my wordfile.txt and the function definitions from the PHP language, and the Function List still shows the define()'s as well as the class functions (eg, public function fetch_object() is detected). Using this same stripped down wordfile with UltraEdit shows 'No Functions!', which is expected.


              It looks like it's related to the Project file. I'm using the project file I created with UE in UEStudio. If I open close the Project and open the file by itself the Function List is empty (when using my stripped down wordfile.txt).

              I just tried creating a new Project in UEStudio and it has the same problem (shows defines, ignores functions in the wordfile). My project is very basic, I just include all files from a specific directory, no filters of any sort.

              Even with "No Highlighting" chosen the Function List still shows the define()'s and class functions.

              Here are the contents of my .prj file.

              Code: Select all

              [Project ID]
              Signature=UE Proj: v.1
              [Project Information]
              Compilable=1
              Use Relative Directory=1
              Relative to Project File=1
              Project Start=D6070A00020018000A000E00030000001C
              Project Directory=C:\wwwroot\ldb
              Include Sub Directories=1
              Project Tagfile=
              Project Wordfile=
              Filter=
              Using VCS=0
              Save Account=0
              Create Tagfile=0
              CTags Legacy Support=0
              Working Time=46
              [Files]
              0=C:\wwwroot\ldb\
              [uemakeXp]
              ReleaseMode=0
              [Debug Settings]
              Program Arguments=
              Symbol Paths=
              Working Directory=
              Selected Debugger=0
              Source Paths=
              [Open Files]
              Open File0=C:\wwwroot\ldb\includes\mysqli.class.php
              Open File Pos0=0
              Open File Line0=0
              Active File Index=0
              Open File Window Pos0=2,3,-1,-1,-4,-23,0,0,1392,694
              Open File1=
              Active File Display Mode=3
              [Folders]
              C:\wwwroot\ldb\=1
              C:\wwwroot\ldb\ - includes=1

                Oct 24, 2006#7

                Andy w/Support solved my problem. UEStudio uses the built-in parser to populate the function list. I turned off "Use Function Tips (if available) for Function List" in Advanced : Configuration : IDE : IntelliTips : Function Tips.

                Some keywords to help other people searching for the same 'problem':
                PHP define constant Function List