New Code Tags (Syntax Highlighting)


 
Thread Tools Search this Thread
The Lounge What is on Your Mind? New Code Tags (Syntax Highlighting)
# 22  
Old 07-05-2018
OK.

After all the comments I left the existing (original) bbcode tags the same for the desktop site but change the generic code tags on mobile to the new syntaxhighter JS in plain mode which adds the line numbers.

Scrollbars work find on mobile. See movie attached.

Image
# 23  
Old 07-05-2018
Update, FYI:

Just updated GeSHI, that is used for our Advanced Syntax Highlighting plugin to the latest 2017 version (GeSHi 1.0.9.0) and FYI, the AWK filter is installed:

awk code:
  1. BEGIN {
  2.   print "Hello World!"
  3. }

Code:
[highlight=awk]BEGIN {
  print "Hello World!"
}[/highlight]

This User Gave Thanks to Neo For This Post:
# 24  
Old 07-08-2018
Update:

I'm working on some new code so that when we click on code tags, it toggles between different syntax highlighters (and of course the standard way with no 'lighters).

The problem I am having is that the forum bbcode PHP scripts do not pass in unique post ids for each post and also that even when I get this solved, there is also the issue of each unique code tag block per postid.

Each code tag block must be assigned a unique identifier for onclick() to work, per HTML specs. I am hesitate to assign random or sequential numbers or other ways to do it; but I may do this for only registered users if I cannot come up with a better solution.

Or I may just use unique ints for each thread view somehow..... but my preference is to get the unique post ids into the bbcode div tags and then add some unique ints for each code tag block in the posts div ids like codetag$postid_$blocknumber or something like that.

When I get the unique ids for each bbcode tag solved, then it's a piece of cake to add the JS code and HTML to make it work.
# 25  
Old 07-08-2018
OK.... The first is done.

Thanks to Don Cragun for this idea!

You can now click on a code tag area and it will toggle back and forth between the original and the new style, now only plain (no coloring) but it's a start. It works on both mobile and on the desktop, but mobile default to the new code highlighter and the desktop defaults to the original code tags;


Code:
<script language="javascript" type="text/javascript">
function switchCodeTags(codeTag) {
    var eleA = codeTag +"a";
    var eleB = codeTag +"b";
    var x = document.getElementById(eleA);
    var y = document.getElementById(eleB);
    if (x.style.display === "none") {
        y.style.display = "none";
        x.style.display = "block";
        
    } else {
        x.style.display = "none";
        y.style.display = "block";
    }
}
</script>


Here is the core PHP code I changed in class_bbcode.php

Code:
if ($this->printable)
                {
                        $code = $this->emulate_pre_tag($code);
                        $template = 'bbcode_code_printable';
                }
                else
                {
                        $blockheight = $this->fetch_block_height($code);
                        $template = 'bbcode_code';
                        $template_neo = 'bbcode_code_neo';
                }
                eval('$html = "' . fetch_template($template, 0, true, true) . '";');
                eval('$html_neo = "' . fetch_template($template_neo, 0, true, true) .'";');
                 $codeRand = (int)$post['postid']+mt_rand();
                 $tagid137 = "neocodetagid137".$codeRand;
                 $tagid137a = "neocodetagid137".$codeRand.'a';
                 $tagid38a = "neocodetagid38".$codeRand.'a';
                 $tagid38 = "neocodetagid38".$codeRand;
                 $tagid137b = "neocodetagid137".$codeRand.'b';
                 $tagid38b = "neocodetagid38".$codeRand.'b';
              //error_log($tagid137a."\n\n", 3, '/tmp/bbcodelog.log');
               if($vbulletin->userinfo['styleid'] == '137')
                {
                $out = '<div style="display:none;" onclick="switchCodeTags(\''.$tagid137.'\')" id="'.$tagid137b.'">'.$html."</div>";
                $out .= '<div onclick="switchCodeTags(\''.$tagid137.'\')" id="'.$tagid137a.'">'.$html_neo."</div>";
                }
               else
               {
                $out = '<div onclick="switchCodeTags(\''.$tagid38.'\')" id="'.$tagid38b.'">'.$html."</div>";
                $out .= '<div  style="display:none;" onclick="switchCodeTags(\''.$tagid38.'\')" id="'.$tagid38a.'">'.$html_neo."</div>";
               }
                return $out;

Right now it only works for our generic code tags:
Code:
 [CODE][/CODE]

But it is a start ...

Please note when you edit a post you will have to refresh the page if you want the toggle'ing to work. I will fix this small bug later.
# 26  
Old 07-08-2018
What am I missing? How do I now copy code that is presented in CODE tags so I can paste it into another window?

It seems that all attempts to select text in a CODE tag now changes the view instead of selecting the text. It also appears that <tab>s in CODE tags are expanded to <space>s (as well as COLOR, ITALIC, BOLD, etc. tags being displayed as text instead of being acted upon) in the view with line numbers.

Being able to copy and paste code seems to me to be a basic requirement for text inside CODE segments in this forum!
# 27  
Old 07-08-2018
I'm not following you.

Nothing has changed, you can copy and paste the same as before.

You cannot do it with the new tags, but you can do it with the original tags.

So, am not following you at all, sorry.
# 28  
Old 07-08-2018
Quote:
Originally Posted by Don Cragun
What am I missing? !
Sorry, I am not understanding this.

I can copy and paste and select no problem at all.
Login or Register to Ask a Question

Previous Thread | Next Thread

8 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Highlighting duplicate string on a line

Hi all I have a grep written to pull out values; below (in the code snip-it) is an example of the output. What I'm struggling to do, and looking for assistance on, is identifying the lines that have duplicate strings. For example 74859915K74859915K in the below is 74859915K repeated twice but... (8 Replies)
Discussion started by: brighty
8 Replies

2. UNIX for Dummies Questions & Answers

Reapplying syntax highlighting in vim

I had a bash script (ma_report.sh) that I was editing when my VPN connection died. So, when I reconnected, I recovered my changes and reopened the file. Everything looks fine except that there is no longer any syntax highlighting. Using ':syntax on' does not work. Other bash scripts in vim do... (1 Reply)
Discussion started by: treesloth
1 Replies

3. AIX

[Vim] Question about syntax highlighting

Hi all, my sysadmin installed Vim packages (vim-enhanced-6.3-1 & vim-common-6.3-1) on an Aix system (7.1.0.0). I log in using Putty (vs 0.54) and got an annoying underline issue. All strings and var names are underlined as you can see on the attached file Is it possible to get rid of that... (4 Replies)
Discussion started by: Fundix
4 Replies

4. Shell Programming and Scripting

How to stop Vim from highlighting lines 73+

I am slowly developing my .vimrc and would like to know how to turn off the highlighting (black text on orange background) which starts at line 73. This doesn't seem to be controlled by any selected/customized colorscheme. I do CFD, and some older codes I use are written in F77, for which this... (2 Replies)
Discussion started by: drbones
2 Replies

5. UNIX and Linux Applications

gedit/gtksourceview: Updating types for syntax highlighting?

I wrote a new .lang file for syntax highlighting a language I use frequently. It works fine, except that it doesn't glob onto the files automatically. Is there a utility I need to run to update a gtksourceview database? Here's the relevant portion of the code. <language id="pari"... (0 Replies)
Discussion started by: CRGreathouse
0 Replies

6. Programming

Vim highlighting annoyance

I was using vim about an hour ago doing abit of python (i only just started using vim). And I think i typed something wrong, and all of a sudden the letter i is always highlighted. Turning syntax off and on didn't work. and i couldent find the solution online. Thanks in advanced. (1 Reply)
Discussion started by: vimhelp
1 Replies

7. UNIX for Dummies Questions & Answers

color highlighting with 'more','grep' and 'vi'

Hi all, i would to find out how can i turn on color hightlighting with the 'more' command. When i view a big file, i tend to use the 'more' command and i would search for a interested string with the '/' command. Something the search returns more than 1 line found on the screen, how can i... (0 Replies)
Discussion started by: new2ss
0 Replies

8. UNIX for Dummies Questions & Answers

Emacs color syntax highlighting

So... i cant get it to work. I had already posted this but it got deleted. Details: Im running SSH shell on Windows XP, connecting to a server whose term is vt100 (someone asked me that last time) Im trying to get the syntax highlighting in cc mode to work in color, but its black and... (0 Replies)
Discussion started by: viejid
0 Replies
Login or Register to Ask a Question