Xebar Saram <zelt...@gmail.com> writes: > Thanks Eric , really appreciate the continuous help! > > i do plan to get into rexeg on the future (i promise :)) but real > life now just allow me to allocate time (i started an assistant > professor position and time is at a huge premium..). > > i tried using this as i tried to understand from your email, but i > guess im again doing something wrong. shouldn't the below example > color "salt", it dosent see to work. > > ;test > (font-lock-add-keywords > 'org-mode > '(("\b[Ss]alt\\b)" (0 '(:weight ultra-bold :foregroun "#FF9800") > t))))
Looks like you're missing a backslash at the beginning of the regexp -- make sure it reads "\\b... E > thank you for all your help > > > > On Sat, Nov 2, 2013 at 12:15 PM, Eric Abrahamsen < > e...@ericabrahamsen.net> wrote: > > Xebar Saram <zelt...@gmail.com> writes: > > > Hi again all > > > > i have been using the before discussed font lock with great > success > > over the past few weeks, thx alot for that tip! > > > > one short question i have from using it thourhgly is weather > its > > possible to color specific words , IE not just text bound > between > > symbols ( ie > !text! ) but rather lets say i always want to > make the > > word server appear with blue FG. is this possible? currently i > tried > > > > (font-lock-add-keywords > > 'org-mode > > '(("\\(server[^server\n]+server\\)" (0 '(:foreground "#000000" > > :underline t :background "#FF9AEA" :weight ultra-bold) t)))) > > At some point you're definitely going to want to read up on > regular > expressions! > > But in the meantime yes, it's entirely (mostly) possible. A > regular > expression is just a way of finding desired pieces of text in a > larger > run of text. Think of the regexp as an instruction that starts: > "Find > all pieces of text that are..." > > All the special regexp characters are just a way of making the > instruction general (_any_ number, four of _any_ character, > _anything_ > that's not a "p"). > > In the most basic case, however, a regexp is simply the text you > want to > find: "Find all pieces of text that are 'server'". In this case, > that's > your regexp: "server". > > The reason regexps are difficult, of course, is that they can't > read > your mind, and will find things you didn't want, and not find > things you > did want. So much of messing with regexps is telling them: _yes_ > this > too, _no_ not that. In your case, you'd probably want to put word > boundaries around the regexp ("\b" on either side), and find both > capitalized and lowercase instances of the word. So your > instruction > might be: > > "Find all pieces of text that are 'server' or 'Server', but only > as a > complete word." > > Which would look like > > "\\b[Ss]erver\\b" > > Give that a shot. You're jumping into the middle of something > fairly > complicated, so be patient and go slow! > > E > > > instead of the original > > > > (font-lock-add-keywords > > 'org-mode > > '(("\\(₆[^₆\n]+₆\\)" (0 '(:foreground "#000000" :underline t > > :background "#FF9AEA" :weight ultra-bold) t)))) > > > > > > again i apologize for my regrex ignorance :) > > > > best > > > > Z > > > > > > > > > > On Sun, Oct 6, 2013 at 8:04 AM, Eric Abrahamsen < > > e...@ericabrahamsen.net> wrote: > > > > Xebar Saram <zelt...@gmail.com> writes: > > > > > thx again Eric > > > > > > i still have an issue with this when one of the symbols > used to > > start > > > /end the highlight is used in a sentence, for example > using > > your > > > code: > > > > > > (font-lock-add-keywords > > > 'org-mode > > > '(("-1-\\([^-1-]+\\)-1-" (0 '(:weight ultra-bold > :background " > > # > > > DDFFDD" :foreground "#000000") t)))) > > > > > > if i write this: > > > > > > -1- this is a test of 1x1 to show higlight -1- > > > > > > it will kill the highlight, if i use the same text > omitting the > > '1' > > > it works well, anyway around this issue? i thought it > would > > have > > > matcehd -1- but it seems it matches also just 1 by itself > > > > > > best wishes and thx again > > > > Yup, the things inside the [^] construct, to _not_ be > matched, > > are > > treated as a list of single characters. So you're saying > > "anything > > that's not a '1' or a '-'," but then you've got a '1' in > the > > middle of > > the line. If you want the highlighting to include any > character, > > but not > > span newlines, you could just use [^\n] instead. > > > > At this point you'll probably want to read the regular > expression > > part > > of the manual: > > > > (elisp) Regular Expressions > > > > I think you mentioned you don't have a lot of programming > > experience. > > That's a bit unfortunate, since regexps aren't a great > place to > > start! > > I'd recommend getting something that's "close enough", and > not > > going > > down the rabbit hole of perfect. Then start at the top of > the > > introduction to elisp... > > > > Good luck, > > Eric > > > > > >