org-mode.pl 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. # Copyright (C) 2007 Alex Schroeder <alex@gnu.org>
  2. #
  3. # This program is free software; you can redistribute it and/or modify
  4. # it under the terms of the GNU General Public License as published by
  5. # the Free Software Foundation; either version 3 of the License, or
  6. # (at your option) any later version.
  7. #
  8. # This program is distributed in the hope that it will be useful,
  9. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. # GNU General Public License for more details.
  12. #
  13. # You should have received a copy of the GNU General Public License
  14. # along with this program. If not, see <http://www.gnu.org/licenses/>.
  15. use strict;
  16. use v5.10;
  17. AddModuleDescription('org-mode.pl', 'Comments on Writing Extensions');
  18. our (@MyRules);
  19. push(@MyRules, \&OrgModeRule);
  20. my $org_emph_re = qr!\G([ \t('\"])*(([*/_=+])([^ \t\r\n,*/_=+].*?(?:\n.*?){0,1}[^ \t\r\n,*/_=+])\3)([ \t.,?;'\")]|$)!;
  21. my %org_emphasis_alist = qw!* b / i _ u = code + del!;
  22. sub OrgModeRule {
  23. if (/$org_emph_re/cg) {
  24. my $tag = $org_emphasis_alist{$3};
  25. return "$1<$tag>$4</$tag>$5";
  26. }
  27. return;
  28. }