No announcement yet.

Syntax Hilighting

  • Filter
  • Time
  • Show
Clear All
new posts

  • Syntax Hilighting

    Dutch and I were chit-chatting in a PM and syntax hilighting came up. It got me thinking "What style syntax hilighting do Spike and Baker use?". I tossed around some guesses in that PM based on your personalities but, they'll never be more than a guess and I'm curious if I'm right. I'm pretty confident that neither of you program in anything that resembles my bowl of fruit loops but I'd like to see it.

    If you have a second, take a screenshot of your environment and post it. Really, anyone can participate in this if they want.

    Everybody has seen mine to death but, I'll post a screen anyway to participate
    Last edited by MadGypsy; 12-06-2016, 09:04 PM. Reason: so many errors

  • #2
    comments green, strings red, reserved words blue everything else black.

    C isn't very fancy - Being exactly one-half good and one-half evil has advantages. When a portal opens to the antimatter universe, my opposite is just me with a goatee.

    So while you guys all have to fight your anti-matter counterparts, me and my evil twin will be drinking a beer laughing at you guys ...


    • #3
      So, for you I was wrong.

      I said that you probably use a dark background with an "elegant" hilight. Elegant was not a good choice of words though cause I really meant minimal.

      @C not fancy
      What does the language have to do with it? It should be your editor that has theme options regardless of language.


      • #4

        I kind of like this one. Really, FlashDevelop only has 4 themes and 2 of them completely suck. The other 2 are this one and the one I have been using forever. I can't use bright backgrounds for the amount of time I spend programming. They burn my eyeballs out of my head.


        • #5
          Originally posted by MadGypsy View Post
          What does the language have to do with it? It should be your editor that has theme options regardless of language.
          Yeah, I'm probably a poor example ... so I would write off my preferences as possibly unusual but actually for a C programmer I suspect they are quite normal ...

          Anyway here goes ...

          Editor? *snicker*

          Maybe 3/4 of the time I don't use editor.

          editor options
          I couldn't tell you what to click to find those in Visual Studio or even what the options would be. I've never once looked in any IDE.

          Some of the time, I am more likely to write the code on piece of paper or quickly type it in some random text editor.

          /Anyway, I'm probably a very bad example. I'm not guy who needs or wants editor to help me. And probably should exit the thread, before I accidentally blurt out my opinion of programmers that need hand-holding editor ...

          /Close call ... Baker distracts and suddenly disappears.
 - Being exactly one-half good and one-half evil has advantages. When a portal opens to the antimatter universe, my opposite is just me with a goatee.

          So while you guys all have to fight your anti-matter counterparts, me and my evil twin will be drinking a beer laughing at you guys ...


          • #6
            Ok, I'll participate.

            Like I said in the PM, my setup sucks, cause it's not really a setup at all. I hate changing things sometimes, even for the know that saying "victim of changes"? I'm the also the victim of not-changing.

            Dammit, now the Judas Priest song is stuck in my head.

            'Replacement Player Models' Project


            • #7
              I use UltraEdit 9 for quakeC, it's old but i'm used to it...



              • #8
                I like that @ rook. Clean, simple and dark.

                @dutch - I couldn't imagine programming with absolutely zero syntax hilighting.

                ~deleted my OT posts since people are participating
                Last edited by MadGypsy; 12-07-2016, 12:04 PM.


                • #9
                  Haven't messed with QuakeC yet (I'm hoping to get to it at some point) but for php python and javascript I use Geany. My favorite IDE and completely free and open-source.


                  • #10
                    Originally posted by R00k View Post
                    I use UltraEdit 9 for quakeC, it's old but i'm used to it...

                    I'm a big fan of this. Gonna check it out. I like the darker backgrounds. Like gypsy said, it's easier on the eyes after a couple hours.
                    'Replacement Player Models' Project


                    • #11
                      fteqccgui somewhat mimics msvc, simply because that's what I'm used to.
                      InsideQC Forums • View topic - FTEQCC Gui Customization - although you can change the scheme if you want, but its kinda convoluted so its much easier to just use shpuld's if you're a white-on-black kind of guy.

                      since adding debug capabilities to fteqccgui, I've started to use it exclusively for my qc hacking (I confess I didn't really use the gui version much before that) - no more notepad! sure it doesn't use tabs and its ui settings are hideously limited, but it does understand syntax for calltips and stuff, as well as breakpoints etc.
                      Some Game Thing


                      • #12
                        I have that npp QC theme I wrote a long time ago but admittedly it is way too "hand holdy". When I wrote it the point was to color code types so noobs could just look at a var and know what type it is.

                        I wonder if I even still have it....

                        I do have it and even went directly to it. It's actually not as bad as I remembered. It's still hand holdy and a bit too colorful but, for some reason I remembered it being ridiculous. I don't think the bottom image looks a full blown ridiculous.

                        that entire theme is delegated by the below so, technically everything below instre1 could be deleted and it would just be a simple reserved word theme

                        <Language name="d" ext="qc" commentLine="//" commentStart="/*" commentEnd="*/">
                                <Keywords name="instre1">if else switch case default break return for while do continue</Keywords>
                        	<Keywords name="instre2">self other world trace_ent msg_entity groundentity chain enemy aiment goalentity dmg_inflictor owner newmis activator damage_attacker oldenemy trigger_field movetarget</Keywords>
                                <Keywords name="type1">makevectors setorigin setmodel setsize break random sound normalize error objerror vlen vectoyaw spawn remove traceline checkclient find precache_sound precache_model stuffcmd findradius bprint sprint dprint ftos vtos coredump traceon traceoff eprint walkmove droptofloor lightstyle rint floor ceil checkbottom pointcontents fabs aim cvar localcmd nextent particle ChangeYaw vectoangles WriteByte WriteChar WriteShort WriteLong WriteCoord WriteAngle WriteString WriteEntity bWriteByte bWriteChar bWriteShort bWriteLong bWriteCoord bWriteAngle bWriteString bWriteEntity movetogoal precache_file makestatic changelevel cvar_set centerprint ambientsound precache_sound2 precache_model2 precache_file2 setspawnparms</Keywords>
                        	<Keywords name="type2">time frametime force_retouch deathmatch coop teamplay serverflags total_secrets total_monsters found_secrets killed_monsters parm1 parm2 parm3 parm4 parm5 parm6 parm7 parm8 parm9 parm10 parm11 parm12 parm13 parm14 parm15 parm16 trace_allsolid trace_startsolid trace_fraction trace_plane_dist trace_inopen trace_inwater modelindexltime movetype solid frame skin effects nextthink health frags weapon weaponframe currentammo ammo_shells ammo_nails ammo_rockets ammo_cells items takedamage deadflag button0 button1 button2 impulse fixangle view idealpitch flags colormap team max_health teleport_time armortype armorvalue waterlevel watertype ideal_yaw yaw_speed spawnflags dmg_take dmg_save sounds end_sys_fields FALSE TRUE FL_FLY FL_SWIM FL_CLIENT FL_INWATER FL_MONSTER FL_GODMODE FL_NOTARGET FL_ITEM FL_ONGROUND FL_PARTIALGROUND FL_WATERJUMP FL_JUMPRELEASED MOVETYPE_NONE MOVETYPE_ANGLENOCLIP MOVETYPE_ANGLECLIP MOVETYPE_WALK MOVETYPE_STEP MOVETYPE_FLY MOVETYPE_TOSS MOVETYPE_PUSH MOVETYPE_NOCLIP MOVETYPE_FLYMISSILE MOVETYPE_BOUNCE MOVETYPE_BOUNCEMISSLE SOLID_NOT SOLID_TRIGGER SOLID_BBOX SOLID_SLIDEBOX SOLID_BSP RANGE_MELEE RANGE_NEAR RANGE_MID RANGE_FAR DEAD_NO DEAD_DYING DEAD_DEAD DEAD_RESPAWNABLE DAMAGE_NO DAMAGE_YES DAMAGE_AIM IT_AXE IT_SHOTGUN IT_SUPER_SHOTGUN IT_NAILGUN IT_SUPER_NAILGUN IT_GRENADE_LAUNCHER IT_ROCKET_LAUNCHER IT_LIGHTNING IT_EXTRA_WEAPON IT_SHELLS IT_NAILS IT_ROCKETS IT_CELLS IT_ARMOR1 IT_ARMOR2 IT_ARMOR3 IT_SUPERHEALTH IT_KEY1 IT_KEY2 IT_INVISIBILITY IT_INVULNERABILITY IT_SUIT IT_QUAD CONTENT_EMPTY CONTENT_SOLID CONTENT_WATER CONTENT_SLIME CONTENT_LAVA CONTENT_SKY STATE_TOP STATE_BOTTOM STATE_UP STATE_DOWN SVC_TEMPENTITY SVC_KILLEDMONSTER SVC_FOUNDSECRET SVC_INTERMISSION SVC_FINALE SVC_CDTRACK SVC_SELLSCREEN TE_SPIKE TE_SUPERSPIKE TE_GUNSHOT TE_EXPLOSION TE_TAREXPLOSION TE_LIGHTNING1 TE_LIGHTNING2 TE_WIZSPIKE TE_KNIGHTSPIKE TE_LIGHTNING3 TE_LAVASPLASH TE_TELEPORT CHAN_AUTO CHAN_WEAPON CHAN_VOICE CHAN_ITEM CHAN_BODY ATTN_NONE ATTN_NORM ATTN_IDLE ATTN_STATIC UPDATE_GENERAL UPDATE_STATIC UPDATE_BINARY UPDATE_TEMP EF_BRIGHTFIELD EF_MUZZLEFLASH EF_BRIGHTLIGHT EF_DIMLIGHT MSG_BROADCAST MSG_ONE MSG_ALL MSG_INIT movedist gameover empty_float framecount skill worldtype light_lev style speed lefty search_time attack_state AS_STRAIGHT AS_SLIDING  AS_MELEE AS_MISSILE walkframe attack_finished pain_finished invincible_finished invisible_finished super_damage_finished radsuit_finished invincible_time invincible_sound invisible_time invisible_sound super_time super_sound rad_time fly_sound axhitme show_hostile jump_flag swim_flag air_finished bubble_count t_length t_width wait delay pausetime aflag dmg cnt count lip state height waitmin waitmax distance volume</Keywords>
                        	<Keywords name="type3">mapname classname model weaponmodel netname target targetname message noise noise1 noise2 noise3 string_null wad map killtarget deathtype mdl noise4</Keywords>
                        	<Keywords name="type5">v_forward v_up v_right trace_endpos trace_plane_normal absmin absmax origin oldorigin velocity angles avelocity punchangle mins maxs size view_ofs v_angle movedir VEC_ORIGIN VEC_HULL_MIN VEC_HULL_MAX VEC_HULL2_MIN VEC_HULL2_MAX mangle oldorigin dest dest1 dest2 finaldest finalangle pos1 pos2</Keywords>
                        	<Keywords name="type4">main StartFrame PlayerPreThink PlayerPostThink ClientKill ClientConnect PutClientInServer ClientDisconnect SetNewParms SetChangeParms end_sys_globals touch use think blocked th_stand th_walk th_run th_missile th_melee th_pain th_die think1</Keywords>

                        and then make the proper deletes to this. If you scroll all the way right it becomes real obvious where instre1 &2 and all the typeNum values are coming from. I remember having to keep the language name as D (or any of the ones np++ has natively) because when I changed to a name np++ didn't already know it gave me a lot of incorrect stuff.

                        <LexerType name="d" desc="D" ext="">
                            <WordsStyle name="DEFAULT" styleID="0" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
                            <WordsStyle name="INSTRUCTION WORD" styleID="6" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="instre1" />
                            <WordsStyle name="KEWORD1" styleID="7" fgColor="0080FF" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="instre2" />
                            <WordsStyle name="KEWORD2" styleID="7" fgColor="800000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="type1" />
                            <WordsStyle name="KEWORD3" styleID="9" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="type2" />
                            <WordsStyle name="KEWORD4" styleID="20" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="type3" />
                            <WordsStyle name="KEWORD5" styleID="21" fgColor="804000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="type4" />
                            <WordsStyle name="KEWORD6" styleID="22" fgColor="800080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" keywordClass="type5" />
                            <WordsStyle name="NUMBER" styleID="5" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
                            <WordsStyle name="STRING" styleID="10" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
                            <WordsStyle name="CHARACTER" styleID="12" fgColor="800080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
                            <WordsStyle name="OPERATOR" styleID="13" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
                            <WordsStyle name="COMMENT" styleID="1" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
                            <WordsStyle name="COMMENT LINE" styleID="2" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
                            <WordsStyle name="COMMENT DOC" styleID="3" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
                            <WordsStyle name="COMMENT NESTED" styleID="4" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
                            <WordsStyle name="COMMENT LINE DOC" styleID="15" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
                            <WordsStyle name="COMMENT DOC KEYWORD" styleID="16" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" />
                            <WordsStyle name="COMMENT DOC KEYWORD ERROR" styleID="17" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="" />
                        those 2 code chunks are pretty much definitive on how to create a np++ theme.
                        Last edited by MadGypsy; 12-08-2016, 01:43 PM.


                        • #13
                          yeah, I'd agree that only actual keywords should be listed as keywords, otherwise it just ends up too arbitrary.

                          (I'd include basic types, like float,void,string as keywords, but not self,makevectors,etc)
                          Some Game Thing


                          • #14
                            this is all super old. The code I posted is the whole shebang. If someone else wanted to modify it they are more than welcome to. Mostly it would just be a bunch of deleting.


                            • #15
                              Haxe works by interpreting haxe to another language and then compiling that language. I wonder how hard it would be to write a haxe interpreter for QC. I have no intention of wasting my time on that but I think it would be interesting. I honestly wouldn't even no where to begin. The Haxe language is far far far far faaaaaaar more robust than QC....maybe not QC classes though.

                              I take that back. It took me all of one second to figure this out. It's all just replacements. So, let's say I wanted to use a haxe Dynamic, I would simply make qc code that creates an entity wrapped in the proper dynamic designation...on and on... The below boot is for PHP.
                              Last edited by MadGypsy; 12-08-2016, 01:56 PM.