Padre-Plugin-PerlTidy-0.21/0000755000175000017500000000000011703323376015352 5ustar azawawiazawawiPadre-Plugin-PerlTidy-0.21/Makefile.PL0000644000175000017500000000073311663377227017340 0ustar azawawiazawawiuse strict; use warnings; use inc::Module::Install; name 'Padre-Plugin-PerlTidy'; license 'perl'; author 'Brian Cassidy '; all_from 'lib/Padre/Plugin/PerlTidy.pm'; requires_from 'lib/Padre/Plugin/PerlTidy.pm'; test_requires 'Test::More' => '0.42'; no_index 'directory' => qw{ t xt eg share inc}; homepage 'http://padre.perlide.org/'; bugtracker 'http://padre.perlide.org/'; repository 'http://svn.perlide.org/padre/trunk/Padre-Plugin-PerlTidy'; WriteAll; Padre-Plugin-PerlTidy-0.21/share/0000755000175000017500000000000011703323376016454 5ustar azawawiazawawiPadre-Plugin-PerlTidy-0.21/share/locale/0000755000175000017500000000000011703323376017713 5ustar azawawiazawawiPadre-Plugin-PerlTidy-0.21/share/locale/Padre__Plugin__PerlTidy-es-es.mo0000644000175000017500000000214211657721565025756 0ustar azawawiazawawi t#!"9 \fu$"g$5Z#a%-) +6Document is not a Perl documentExistExport active document to HTML fileExport selected text to HTML fileFile already exists. Overwrite it?Perl TidyPerlTidy ErrorSave file as...Tidy the active document Alt+Shift+FTidy the selected text Alt+Shift+GProject-Id-Version: Padre-Plugin-PerlTidy Report-Msgid-Bugs-To: POT-Creation-Date: 2010-12-11 01:21+0100 PO-Revision-Date: Last-Translator: Enrique Nell Language-Team: Enrique Nell , Bruno Vecchi Language: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit El documento no es un documento PerlExisteExportar el documento activo a HTMLExportar el texto seleccionado a HTMLEl archivo ya existe. ¿Desea sobrescribirlo?PerlTidyError de PerlTidyGuardar archivo como...Arreglar el documento activo Alt+Mayús+FArreglar el texto seleccionado Alt+Mayús+GPadre-Plugin-PerlTidy-0.21/share/locale/Padre__Plugin__PerlTidy-nl-nl.po0000644000175000017500000000315411561720465025761 0ustar azawawiazawawimsgid "" msgstr "" "Project-Id-Version: Padre-Plugin-PerlTidy\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-10-25 14:42+0300\n" "PO-Revision-Date: \n" "Last-Translator: ddn \n" "Language-Team: ddn \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Dutch\n" "X-Poedit-Country: Nederland - België\n" #: lib/Padre/Plugin/PerlTidy.pm:39 msgid "Perl Tidy" msgstr "Perl Tidy" #: lib/Padre/Plugin/PerlTidy.pm:45 msgid "Tidy the active document\tAlt+Shift+F" msgstr "Orden het actieve document\tAlt+Shift+F" #: lib/Padre/Plugin/PerlTidy.pm:46 msgid "Tidy the selected text\tAlt+Shift+G" msgstr "Orden de geselecteerde tekst\tAlt+Shift+G" #: lib/Padre/Plugin/PerlTidy.pm:49 msgid "Export active document to HTML file" msgstr "Exporteer het actieve document naar een HTML bestand" #: lib/Padre/Plugin/PerlTidy.pm:51 msgid "Export selected text to HTML file" msgstr "Exporteer de geselecteerde tekst naar een HTML bestand" #: lib/Padre/Plugin/PerlTidy.pm:67 #: lib/Padre/Plugin/PerlTidy.pm:194 msgid "Document is not a Perl document" msgstr "Document is geen Perl document" #: lib/Padre/Plugin/PerlTidy.pm:97 #: lib/Padre/Plugin/PerlTidy.pm:226 msgid "PerlTidy Error" msgstr "PerlTidy Fout" #: lib/Padre/Plugin/PerlTidy.pm:166 msgid "Save file as..." msgstr "Bestand opslaan als..." #: lib/Padre/Plugin/PerlTidy.pm:177 msgid "File already exists. Overwrite it?" msgstr "Bestand bestaat reeds. Overschrijven?" #: lib/Padre/Plugin/PerlTidy.pm:177 msgid "Exist" msgstr "Bestaat" #~ msgid "Error" #~ msgstr "Fout" Padre-Plugin-PerlTidy-0.21/share/locale/Padre__Plugin__PerlTidy-fr.po0000644000175000017500000000320011626635320025335 0ustar azawawiazawawimsgid "" msgstr "" "Project-Id-Version: Padre-Plugin-PerlTidy\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-10-25 14:42+0300\n" "PO-Revision-Date: \n" "Last-Translator: Olivier Mengué \n" "Language-Team: Jérôme Quelin \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: French\n" "X-Poedit-Country: FRANCE\n" #: lib/Padre/Plugin/PerlTidy.pm:39 msgid "Perl Tidy" msgstr "Perl Tidy" #: lib/Padre/Plugin/PerlTidy.pm:45 msgid "Tidy the active document\tAlt+Shift+F" msgstr "Arranger le document courant\tAlt+Maj+F" #: lib/Padre/Plugin/PerlTidy.pm:46 msgid "Tidy the selected text\tAlt+Shift+G" msgstr "Arranger le texte sélectionné\tAlt+Maj+G" #: lib/Padre/Plugin/PerlTidy.pm:49 msgid "Export active document to HTML file" msgstr "Exporter le document courant dans un fichier HTML" #: lib/Padre/Plugin/PerlTidy.pm:51 msgid "Export selected text to HTML file" msgstr "Exporter le texte sélectionné dans un fichier HTML" #: lib/Padre/Plugin/PerlTidy.pm:67 #: lib/Padre/Plugin/PerlTidy.pm:194 msgid "Document is not a Perl document" msgstr "Le document n'est pas un document Perl" #: lib/Padre/Plugin/PerlTidy.pm:97 #: lib/Padre/Plugin/PerlTidy.pm:226 msgid "PerlTidy Error" msgstr "Erreur PerlTidy" #: lib/Padre/Plugin/PerlTidy.pm:166 msgid "Save file as..." msgstr "Enregistrer sous..." #: lib/Padre/Plugin/PerlTidy.pm:177 msgid "File already exists. Overwrite it?" msgstr "Le fichier existe déjà. Le remplacer ?" #: lib/Padre/Plugin/PerlTidy.pm:177 msgid "Exist" msgstr "Existe" #~ msgid "Error" #~ msgstr "Erreur" Padre-Plugin-PerlTidy-0.21/share/locale/Padre__Plugin__PerlTidy-ja.mo0000644000175000017500000000235311657721565025340 0ustar azawawiazawawi t#!"?bq$"^.( WaIF@Rd63Document is not a Perl documentErrorExistExport active document to HTML fileExport selected text to HTML fileFile already exists. Overwrite it?PerlTidy ErrorSave file as...Tidy the active document Alt+Shift+FTidy the selected text Alt+Shift+GProject-Id-Version: Padre-Plugin-PerlTidy Report-Msgid-Bugs-To: POT-Creation-Date: 2009-05-19 02:39+0800 PO-Revision-Date: 2009-07-27 03:52+0900 Last-Translator: Kenichi Ishigaki Language-Team: Japanese MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; Perlのドキュメントではありませんエラーファイルが存在します現在のドキュメントをHTMLファイルにエクスポートする選択したテキストをHTMLファイルにエクスポートするファイルはすでに存在します。上書きしますか?PerlTidyエラー名前をつけて保存...現在のドキュメントを整形する Alt+Shift+F選択したテキストを整形する Alt+Shift+GPadre-Plugin-PerlTidy-0.21/share/locale/Padre__Plugin__PerlTidy-it-it.po0000644000175000017500000000344111561720465025766 0ustar azawawiazawawi# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: Padre2It\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-10-25 14:42+0300\n" "PO-Revision-Date: 2010-11-03 15:02+0100\n" "Last-Translator: Simone Blandino \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Italian\n" "X-Poedit-Country: ITALY\n" #: lib/Padre/Plugin/PerlTidy.pm:39 msgid "Perl Tidy" msgstr "PerlTidy" #: lib/Padre/Plugin/PerlTidy.pm:45 msgid "Tidy the active document\tAlt+Shift+F" msgstr "Riordina il documento attivo\tAlt+Shift+F" #: lib/Padre/Plugin/PerlTidy.pm:46 msgid "Tidy the selected text\tAlt+Shift+G" msgstr "Riordina il testo selezionato\tAlt+Shift+G" #: lib/Padre/Plugin/PerlTidy.pm:49 msgid "Export active document to HTML file" msgstr "Esporta il documento attivo come file HTML" #: lib/Padre/Plugin/PerlTidy.pm:51 msgid "Export selected text to HTML file" msgstr "Esporta il testo selezionato come file HTML" #: lib/Padre/Plugin/PerlTidy.pm:67 #: lib/Padre/Plugin/PerlTidy.pm:194 msgid "Document is not a Perl document" msgstr "Il documento non è un documento Perl" #: lib/Padre/Plugin/PerlTidy.pm:97 #: lib/Padre/Plugin/PerlTidy.pm:226 msgid "PerlTidy Error" msgstr "Errore PerlTidy" #: lib/Padre/Plugin/PerlTidy.pm:166 msgid "Save file as..." msgstr "Salva con nome..." #: lib/Padre/Plugin/PerlTidy.pm:177 msgid "File already exists. Overwrite it?" msgstr "Il file esite. Sovrascriverlo?" #: lib/Padre/Plugin/PerlTidy.pm:177 msgid "Exist" msgstr "Esiste" #~ msgid "Error" #~ msgstr "Errore" Padre-Plugin-PerlTidy-0.21/share/locale/Padre__Plugin__PerlTidy-fr.mo0000644000175000017500000000220511657721565025351 0ustar azawawiazawawi t#!"9 \fu$"z&Ho1v4(  &4)[Document is not a Perl documentExistExport active document to HTML fileExport selected text to HTML fileFile already exists. Overwrite it?Perl TidyPerlTidy ErrorSave file as...Tidy the active document Alt+Shift+FTidy the selected text Alt+Shift+GProject-Id-Version: Padre-Plugin-PerlTidy Report-Msgid-Bugs-To: POT-Creation-Date: 2010-10-25 14:42+0300 PO-Revision-Date: Last-Translator: Olivier Mengué Language-Team: Jérôme Quelin Language: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Poedit-Language: French X-Poedit-Country: FRANCE Le document n'est pas un document PerlExisteExporter le document courant dans un fichier HTMLExporter le texte sélectionné dans un fichier HTMLLe fichier existe déjà. Le remplacer ?Perl TidyErreur PerlTidyEnregistrer sous...Arranger le document courant Alt+Maj+FArranger le texte sélectionné Alt+Maj+GPadre-Plugin-PerlTidy-0.21/share/locale/Padre__Plugin__PerlTidy-zh-tw.mo0000644000175000017500000000211511657721565026013 0ustar azawawiazawawi t#!"9 \fu$"|Ji$p!) ,Document is not a Perl documentExistExport active document to HTML fileExport selected text to HTML fileFile already exists. Overwrite it?Perl TidyPerlTidy ErrorSave file as...Tidy the active document Alt+Shift+FTidy the selected text Alt+Shift+GProject-Id-Version: Padre-Plugin-PerlTidy Report-Msgid-Bugs-To: POT-Creation-Date: 2010-10-25 14:42+0300 PO-Revision-Date: 2011-07-11 21:33+0800 Last-Translator: BlueT - Matthew Lien - 練喆明 Language-Team: Chinese (traditional) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 此文件不是個 Perl 文件存在匯出作業中的文件成 HTML 檔匯出所選的文字成 HTML 檔檔案已存在. 是否覆寫?PerlTidyPerlTidy 錯誤儲存檔案為...Tidy 這個作業中的文件 Alt+Shift+FTidy 所選的字串 Alt+Shift+GPadre-Plugin-PerlTidy-0.21/share/locale/Padre__Plugin__PerlTidy-pl.po0000644000175000017500000000326211561720465025354 0ustar azawawiazawawi# # Cezary Morga , 2009. msgid "" msgstr "" "Project-Id-Version: Padre-Plugin-PerlTidy\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-05-11 20:49+0300\n" "PO-Revision-Date: 2009-05-13 20:28+0200\n" "Last-Translator: Cezary Morga \n" "Language-Team: Polish <>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 0.3\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: lib/Padre/Plugin/PerlTidy.pm:36 msgid "Tidy the active document\tAlt+Shift+F" msgstr "Oczyść aktywny dokument\tAlt+Shift+F" #: lib/Padre/Plugin/PerlTidy.pm:37 msgid "Tidy the selected text\tAlt+Shift+G" msgstr "Oczyść zaznaczony tekst\tAlt+Shift+G" #: lib/Padre/Plugin/PerlTidy.pm:38 msgid "Export active document to HTML file" msgstr "Eksportuj aktywny dokument do pliku HTML" #: lib/Padre/Plugin/PerlTidy.pm:39 msgid "Export selected text to HTML file" msgstr "Eksportuj zaznaczony tekst do pliku HTML" #: lib/Padre/Plugin/PerlTidy.pm:53 lib/Padre/Plugin/PerlTidy.pm:172 msgid "Document is not a Perl document" msgstr "Bieżący dokument nie jest dokumentem Perl" #: lib/Padre/Plugin/PerlTidy.pm:54 lib/Padre/Plugin/PerlTidy.pm:173 msgid "Error" msgstr "Błąd" #: lib/Padre/Plugin/PerlTidy.pm:74 lib/Padre/Plugin/PerlTidy.pm:197 msgid "PerlTidy Error" msgstr "Błąd PerlTidy" #: lib/Padre/Plugin/PerlTidy.pm:134 msgid "Save file as..." msgstr "Zapisz plik jako..." #: lib/Padre/Plugin/PerlTidy.pm:148 msgid "File already exists. Overwrite it?" msgstr "Plik istnieje. Czy go zastąpić?" #: lib/Padre/Plugin/PerlTidy.pm:149 msgid "Exist" msgstr "Istnieje" Padre-Plugin-PerlTidy-0.21/share/locale/Padre__Plugin__PerlTidy-tr.mo0000644000175000017500000000216111657721565025370 0ustar azawawiazawawi t#!"9 \fu$"Sq#x#& ))GDocument is not a Perl documentExistExport active document to HTML fileExport selected text to HTML fileFile already exists. Overwrite it?Perl TidyPerlTidy ErrorSave file as...Tidy the active document Alt+Shift+FTidy the selected text Alt+Shift+GProject-Id-Version: Padre-Plugin-PerlTidy Report-Msgid-Bugs-To: POT-Creation-Date: 2010-10-25 14:42+0300 PO-Revision-Date: 2010-12-07 00:43+0100 Last-Translator: Burak Gürsoy Language-Team: Turkish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Poedit-Language: Turkish X-Poedit-Country: TURKEY X-Poedit-SourceCharset: utf-8 Belge bir Perl belgesi değilMevcutEtkin belgeyi HTML dosyasına aktarSeçili metni HTML dosyasına aktarDosya mevcut. Üstüne yazılsın mı?Perl TidyPerlTidy HatasıDosyayı farklı kaydet...Etkin belgeye çekidüzen ver Alt+Shift+FSeçili metne çekidüzen ver Alt+Shift+GPadre-Plugin-PerlTidy-0.21/share/locale/Padre__Plugin__PerlTidy-pt-br.po0000644000175000017500000000301311563732717025764 0ustar azawawiazawawimsgid "" msgstr "" "Project-Id-Version: Padre-Plugin-PerlTidy\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-10-25 14:42+0300\n" "PO-Revision-Date: \n" "Last-Translator: Breno G. de Oliveira \n" "Language-Team: Brazilian Portuguese\n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" #: lib/Padre/Plugin/PerlTidy.pm:39 msgid "Perl Tidy" msgstr "Perl Tidy" #: lib/Padre/Plugin/PerlTidy.pm:45 msgid "Tidy the active document\tAlt+Shift+F" msgstr "Organizar documento ativo\tAlt+Shift+F" #: lib/Padre/Plugin/PerlTidy.pm:46 msgid "Tidy the selected text\tAlt+Shift+G" msgstr "Organizar texto selecionado\tAlt+Shift+G" #: lib/Padre/Plugin/PerlTidy.pm:49 msgid "Export active document to HTML file" msgstr "Exportar documento ativo para HTML" #: lib/Padre/Plugin/PerlTidy.pm:51 msgid "Export selected text to HTML file" msgstr "Exportar texto selecionado para HTML" #: lib/Padre/Plugin/PerlTidy.pm:67 #: lib/Padre/Plugin/PerlTidy.pm:194 msgid "Document is not a Perl document" msgstr "Documento no um documento Perl" #: lib/Padre/Plugin/PerlTidy.pm:97 #: lib/Padre/Plugin/PerlTidy.pm:226 msgid "PerlTidy Error" msgstr "Erro do PerlTidy" #: lib/Padre/Plugin/PerlTidy.pm:166 msgid "Save file as..." msgstr "Salvar como..." #: lib/Padre/Plugin/PerlTidy.pm:177 msgid "File already exists. Overwrite it?" msgstr "Arquivo existente. Sobrescrever?" #: lib/Padre/Plugin/PerlTidy.pm:177 msgid "Exist" msgstr "Existe" #~ msgid "Error" #~ msgstr "Erro" Padre-Plugin-PerlTidy-0.21/share/locale/Padre__Plugin__PerlTidy-tr.po0000644000175000017500000000345211561720465025367 0ustar azawawiazawawi# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: Padre-Plugin-PerlTidy\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-10-25 14:42+0300\n" "PO-Revision-Date: 2010-12-07 00:43+0100\n" "Last-Translator: Burak Gürsoy \n" "Language-Team: Turkish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Turkish\n" "X-Poedit-Country: TURKEY\n" "X-Poedit-SourceCharset: utf-8\n" #: lib/Padre/Plugin/PerlTidy.pm:39 msgid "Perl Tidy" msgstr "Perl Tidy" #: lib/Padre/Plugin/PerlTidy.pm:45 msgid "Tidy the active document\tAlt+Shift+F" msgstr "Etkin belgeye çekidüzen ver\tAlt+Shift+F" #: lib/Padre/Plugin/PerlTidy.pm:46 msgid "Tidy the selected text\tAlt+Shift+G" msgstr "Seçili metne çekidüzen ver\tAlt+Shift+G" #: lib/Padre/Plugin/PerlTidy.pm:49 msgid "Export active document to HTML file" msgstr "Etkin belgeyi HTML dosyasına aktar" #: lib/Padre/Plugin/PerlTidy.pm:51 msgid "Export selected text to HTML file" msgstr "Seçili metni HTML dosyasına aktar" #: lib/Padre/Plugin/PerlTidy.pm:67 #: lib/Padre/Plugin/PerlTidy.pm:194 msgid "Document is not a Perl document" msgstr "Belge bir Perl belgesi değil" #: lib/Padre/Plugin/PerlTidy.pm:97 #: lib/Padre/Plugin/PerlTidy.pm:226 msgid "PerlTidy Error" msgstr "PerlTidy Hatası" #: lib/Padre/Plugin/PerlTidy.pm:166 msgid "Save file as..." msgstr "Dosyayı farklı kaydet..." #: lib/Padre/Plugin/PerlTidy.pm:177 msgid "File already exists. Overwrite it?" msgstr "Dosya mevcut. Üstüne yazılsın mı?" #: lib/Padre/Plugin/PerlTidy.pm:177 msgid "Exist" msgstr "Mevcut" #~ msgid "Error" #~ msgstr "Hata" Padre-Plugin-PerlTidy-0.21/share/locale/Padre__Plugin__PerlTidy-es-es.po0000644000175000017500000000311311561720465025750 0ustar azawawiazawawimsgid "" msgstr "Project-Id-Version: Padre-Plugin-PerlTidy\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-12-11 01:21+0100\n" "PO-Revision-Date: \n" "Last-Translator: Enrique Nell \n" "Language-Team: Enrique Nell , Bruno Vecchi \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: lib/Padre/Plugin/PerlTidy.pm:39 msgid "Perl Tidy" msgstr "PerlTidy" #: lib/Padre/Plugin/PerlTidy.pm:45 msgid "Tidy the active document\tAlt+Shift+F" msgstr "Arreglar el documento activo\tAlt+Mayús+F" #: lib/Padre/Plugin/PerlTidy.pm:46 msgid "Tidy the selected text\tAlt+Shift+G" msgstr "Arreglar el texto seleccionado\tAlt+Mayús+G" #: lib/Padre/Plugin/PerlTidy.pm:49 msgid "Export active document to HTML file" msgstr "Exportar el documento activo a HTML" #: lib/Padre/Plugin/PerlTidy.pm:51 msgid "Export selected text to HTML file" msgstr "Exportar el texto seleccionado a HTML" #: lib/Padre/Plugin/PerlTidy.pm:67 lib/Padre/Plugin/PerlTidy.pm:194 msgid "Document is not a Perl document" msgstr "El documento no es un documento Perl" #: lib/Padre/Plugin/PerlTidy.pm:97 lib/Padre/Plugin/PerlTidy.pm:225 msgid "PerlTidy Error" msgstr "Error de PerlTidy" #: lib/Padre/Plugin/PerlTidy.pm:166 msgid "Save file as..." msgstr "Guardar archivo como..." #: lib/Padre/Plugin/PerlTidy.pm:177 msgid "File already exists. Overwrite it?" msgstr "El archivo ya existe. ¿Desea sobrescribirlo?" #: lib/Padre/Plugin/PerlTidy.pm:177 msgid "Exist" msgstr "Existe" #~ msgid "Error" #~ msgstr "Error" Padre-Plugin-PerlTidy-0.21/share/locale/Padre__Plugin__PerlTidy-ar.mo0000644000175000017500000000224611657721565025351 0ustar azawawiazawawi t#!"9 \fu$"c'1 Y;d5(*4B.wDocument is not a Perl documentExistExport active document to HTML fileExport selected text to HTML fileFile already exists. Overwrite it?Perl TidyPerlTidy ErrorSave file as...Tidy the active document Alt+Shift+FTidy the selected text Alt+Shift+GProject-Id-Version: Padre-Plugin-PerlTidy Report-Msgid-Bugs-To: POT-Creation-Date: 2010-10-25 14:42+0300 PO-Revision-Date: Last-Translator: Ahmad M. Zawawi Language-Team: Ahmad M. Zawawi MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Poedit-Language: Arabic الوثيقة ليست وثيقة Perlموجودتصدير الوثيقة الحالية إلى ملف HTMLتصدير النص المختار إلى ملف HTMLLe fichier existe déjà. Le remplacer ?ترتيب ملفات Perlخطأ PerlTidyحفظ الملف ك...ترتيب الوثيقة الحالية Alt+Shift+Fترتيب النص المختار Alt+Shift+GPadre-Plugin-PerlTidy-0.21/share/locale/Padre__Plugin__PerlTidy-ja.po0000644000175000017500000000370011660417033025322 0ustar azawawiazawawi# Japanese translations for PACKAGE package. # Copyright (C) 2009 THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Kenichi Ishigaki , 2009. # msgid "" msgstr "" "Project-Id-Version: Padre-Plugin-PerlTidy\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-10-25 14:42+0300\n" "PO-Revision-Date: 2011-11-15 01:41+0900\n" "Last-Translator: Kenichi Ishigaki \n" "Language-Team: Japanese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" #: lib/Padre/Plugin/PerlTidy.pm:39 msgid "Perl Tidy" msgstr "Perl Tidy" #: lib/Padre/Plugin/PerlTidy.pm:45 msgid "Tidy the active document\tAlt+Shift+F" msgstr "現在のドキュメントを整形する\tAlt+Shift+F" #: lib/Padre/Plugin/PerlTidy.pm:46 msgid "Tidy the selected text\tAlt+Shift+G" msgstr "選択したテキストを整形する\tAlt+Shift+G" #: lib/Padre/Plugin/PerlTidy.pm:49 msgid "Export active document to HTML file" msgstr "現在のドキュメントをHTMLファイルにエクスポートする" #: lib/Padre/Plugin/PerlTidy.pm:51 msgid "Export selected text to HTML file" msgstr "選択したテキストをHTMLファイルにエクスポートする" #: lib/Padre/Plugin/PerlTidy.pm:67 #: lib/Padre/Plugin/PerlTidy.pm:194 msgid "Document is not a Perl document" msgstr "Perlのドキュメントではありません" #: lib/Padre/Plugin/PerlTidy.pm:97 #: lib/Padre/Plugin/PerlTidy.pm:226 msgid "PerlTidy Error" msgstr "PerlTidyエラー" #: lib/Padre/Plugin/PerlTidy.pm:166 msgid "Save file as..." msgstr "名前をつけて保存..." #: lib/Padre/Plugin/PerlTidy.pm:177 msgid "File already exists. Overwrite it?" msgstr "ファイルはすでに存在します。上書きしますか?" #: lib/Padre/Plugin/PerlTidy.pm:177 msgid "Exist" msgstr "ファイルが存在します" #~ msgid "Error" #~ msgstr "エラー" Padre-Plugin-PerlTidy-0.21/share/locale/Padre__Plugin__PerlTidy-nl-nl.mo0000644000175000017500000000216611657721565025770 0ustar azawawiazawawi t#!"9 \fu$"p>]4e6%  &&(MDocument is not a Perl documentExistExport active document to HTML fileExport selected text to HTML fileFile already exists. Overwrite it?Perl TidyPerlTidy ErrorSave file as...Tidy the active document Alt+Shift+FTidy the selected text Alt+Shift+GProject-Id-Version: Padre-Plugin-PerlTidy Report-Msgid-Bugs-To: POT-Creation-Date: 2010-10-25 14:42+0300 PO-Revision-Date: Last-Translator: ddn Language-Team: ddn MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Poedit-Language: Dutch X-Poedit-Country: Nederland - België Document is geen Perl documentBestaatExporteer het actieve document naar een HTML bestandExporteer de geselecteerde tekst naar een HTML bestandBestand bestaat reeds. Overschrijven?Perl TidyPerlTidy FoutBestand opslaan als...Orden het actieve document Alt+Shift+FOrden de geselecteerde tekst Alt+Shift+GPadre-Plugin-PerlTidy-0.21/share/locale/Padre__Plugin__PerlTidy-zh-tw.po0000644000175000017500000000352611615205545026012 0ustar azawawiazawawi# Chinese translations for Padre-Plugin-PerlTidy package. # Copyright (C) 2009 THE Padre-Plugin-PerlTidy'S COPYRIGHT HOLDER # This file is distributed under the same license as the Padre-Plugin-PerlTidy package. # BlueT - Matthew Lien - 練喆明, 2009. # # msgid "" msgstr "" "Project-Id-Version: Padre-Plugin-PerlTidy\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-10-25 14:42+0300\n" "PO-Revision-Date: 2011-07-11 21:33+0800\n" "Last-Translator: BlueT - Matthew Lien - 練喆明 \n" "Language-Team: Chinese (traditional) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: lib/Padre/Plugin/PerlTidy.pm:39 msgid "Perl Tidy" msgstr "PerlTidy" #: lib/Padre/Plugin/PerlTidy.pm:45 msgid "Tidy the active document\tAlt+Shift+F" msgstr "Tidy 這個作業中的文件\tAlt+Shift+F" #: lib/Padre/Plugin/PerlTidy.pm:46 msgid "Tidy the selected text\tAlt+Shift+G" msgstr "Tidy 所選的字串\tAlt+Shift+G" #: lib/Padre/Plugin/PerlTidy.pm:49 msgid "Export active document to HTML file" msgstr "匯出作業中的文件成 HTML 檔" #: lib/Padre/Plugin/PerlTidy.pm:51 msgid "Export selected text to HTML file" msgstr "匯出所選的文字成 HTML 檔" #: lib/Padre/Plugin/PerlTidy.pm:67 lib/Padre/Plugin/PerlTidy.pm:194 msgid "Document is not a Perl document" msgstr "此文件不是個 Perl 文件" #: lib/Padre/Plugin/PerlTidy.pm:97 lib/Padre/Plugin/PerlTidy.pm:226 msgid "PerlTidy Error" msgstr "PerlTidy 錯誤" #: lib/Padre/Plugin/PerlTidy.pm:166 msgid "Save file as..." msgstr "儲存檔案為..." #: lib/Padre/Plugin/PerlTidy.pm:177 msgid "File already exists. Overwrite it?" msgstr "檔案已存在. 是否覆寫?" #: lib/Padre/Plugin/PerlTidy.pm:177 msgid "Exist" msgstr "存在" #~ msgid "Error" #~ msgstr "錯誤" Padre-Plugin-PerlTidy-0.21/share/locale/Padre__Plugin__PerlTidy-de.po0000644000175000017500000000357411561720465025337 0ustar azawawiazawawi# German translations for PACKAGE package. # Copyright (C) 2009 THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Heiko Jansen , 2009. # msgid "" msgstr "" "Project-Id-Version: Padre-Plugin-PerlTidy\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-09-09 23:40+0200\n" "PO-Revision-Date: 2009-09-09 23:41+0100\n" "Last-Translator: Sebastian Willing\n" "Language-Team: German\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/Padre/Plugin/PerlTidy.pm:38 msgid "Tidy the active document\tAlt+Shift+F" msgstr "Aktives Dokument aufräumen\tAlt+Umschalt+F" #: lib/Padre/Plugin/PerlTidy.pm:39 msgid "Tidy the selected text\tAlt+Shift+G" msgstr "Ausgewählten Text aufräumen\tAlt+Umschalt+G" #: lib/Padre/Plugin/PerlTidy.pm:40 msgid "Export active document to HTML file" msgstr "Aktives Dokument in HTML Datei exportieren" #: lib/Padre/Plugin/PerlTidy.pm:41 msgid "Export selected text to HTML file" msgstr "Ausgewählten Text in HTML Datei exportieren" #: lib/Padre/Plugin/PerlTidy.pm:55 #: lib/Padre/Plugin/PerlTidy.pm:169 msgid "Document is not a Perl document" msgstr "Dokument ist kein Perl Dokument" #: lib/Padre/Plugin/PerlTidy.pm:56 #: lib/Padre/Plugin/PerlTidy.pm:170 msgid "Error" msgstr "Fehler" #: lib/Padre/Plugin/PerlTidy.pm:74 #: lib/Padre/Plugin/PerlTidy.pm:192 msgid "PerlTidy Error" msgstr "PerlTidy Fehler" #: lib/Padre/Plugin/PerlTidy.pm:137 msgid "Save file as..." msgstr "Speichere Datei als..." #: lib/Padre/Plugin/PerlTidy.pm:147 msgid "File already exists. Overwrite it?" msgstr "Datei existiert bereits. Überschreiben?" #: lib/Padre/Plugin/PerlTidy.pm:148 msgid "Exist" msgstr "Existiert" #~ msgid "ctrl" #~ msgstr "strg" #~ msgid "shift" #~ msgstr "umschalt" #~ msgid "alt" #~ msgstr "alt" Padre-Plugin-PerlTidy-0.21/share/locale/Padre__Plugin__PerlTidy-pl.mo0000644000175000017500000000223411657721565025357 0ustar azawawiazawawi t#!"?bq$"+|((! ,<%P%vDocument is not a Perl documentErrorExistExport active document to HTML fileExport selected text to HTML fileFile already exists. Overwrite it?PerlTidy ErrorSave file as...Tidy the active document Alt+Shift+FTidy the selected text Alt+Shift+GProject-Id-Version: Padre-Plugin-PerlTidy Report-Msgid-Bugs-To: POT-Creation-Date: 2009-05-11 20:49+0300 PO-Revision-Date: 2009-05-13 20:28+0200 Last-Translator: Cezary Morga Language-Team: Polish <> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Lokalize 0.3 Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); Bieżący dokument nie jest dokumentem PerlBłądIstniejeEksportuj aktywny dokument do pliku HTMLEksportuj zaznaczony tekst do pliku HTMLPlik istnieje. Czy go zastąpić?Błąd PerlTidyZapisz plik jako...Oczyść aktywny dokument Alt+Shift+FOczyść zaznaczony tekst Alt+Shift+GPadre-Plugin-PerlTidy-0.21/share/locale/Padre__Plugin__PerlTidy-pt-br.mo0000644000175000017500000000203111657721565025763 0ustar azawawiazawawi t#!"9 \fu$"A!1"8$[  %'Document is not a Perl documentExistExport active document to HTML fileExport selected text to HTML fileFile already exists. Overwrite it?Perl TidyPerlTidy ErrorSave file as...Tidy the active document Alt+Shift+FTidy the selected text Alt+Shift+GProject-Id-Version: Padre-Plugin-PerlTidy Report-Msgid-Bugs-To: POT-Creation-Date: 2010-10-25 14:42+0300 PO-Revision-Date: Last-Translator: Breno G. de Oliveira Language-Team: Brazilian Portuguese Language: MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Documento no um documento PerlExisteExportar documento ativo para HTMLExportar texto selecionado para HTMLArquivo existente. Sobrescrever?Perl TidyErro do PerlTidySalvar como...Organizar documento ativo Alt+Shift+FOrganizar texto selecionado Alt+Shift+GPadre-Plugin-PerlTidy-0.21/share/locale/Padre__Plugin__PerlTidy-ar.po0000644000175000017500000000323211561720465025340 0ustar azawawiazawawimsgid "" msgstr "" "Project-Id-Version: Padre-Plugin-PerlTidy\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-10-25 14:42+0300\n" "PO-Revision-Date: \n" "Last-Translator: Ahmad M. Zawawi \n" "Language-Team: Ahmad M. Zawawi \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Arabic\n" #: lib/Padre/Plugin/PerlTidy.pm:39 msgid "Perl Tidy" msgstr "ترتيب ملفات Perl" #: lib/Padre/Plugin/PerlTidy.pm:45 msgid "Tidy the active document\tAlt+Shift+F" msgstr "ترتيب الوثيقة الحالية\tAlt+Shift+F" #: lib/Padre/Plugin/PerlTidy.pm:46 msgid "Tidy the selected text\tAlt+Shift+G" msgstr "ترتيب النص المختار\tAlt+Shift+G" #: lib/Padre/Plugin/PerlTidy.pm:49 msgid "Export active document to HTML file" msgstr "تصدير الوثيقة الحالية إلى ملف HTML" #: lib/Padre/Plugin/PerlTidy.pm:51 msgid "Export selected text to HTML file" msgstr "تصدير النص المختار إلى ملف HTML" #: lib/Padre/Plugin/PerlTidy.pm:67 #: lib/Padre/Plugin/PerlTidy.pm:194 msgid "Document is not a Perl document" msgstr "الوثيقة ليست وثيقة Perl" #: lib/Padre/Plugin/PerlTidy.pm:97 #: lib/Padre/Plugin/PerlTidy.pm:226 msgid "PerlTidy Error" msgstr "خطأ PerlTidy" #: lib/Padre/Plugin/PerlTidy.pm:166 msgid "Save file as..." msgstr "حفظ الملف ك..." #: lib/Padre/Plugin/PerlTidy.pm:177 msgid "File already exists. Overwrite it?" msgstr "Le fichier existe déjà. Le remplacer ?" #: lib/Padre/Plugin/PerlTidy.pm:177 msgid "Exist" msgstr "موجود" #~ msgid "Error" #~ msgstr "خطأ" Padre-Plugin-PerlTidy-0.21/share/locale/Padre__Plugin__PerlTidy-de.mo0000644000175000017500000000211311657721565025330 0ustar azawawiazawawi t#!"?bq$"P: A*K,v(*,Document is not a Perl documentErrorExistExport active document to HTML fileExport selected text to HTML fileFile already exists. Overwrite it?PerlTidy ErrorSave file as...Tidy the active document Alt+Shift+FTidy the selected text Alt+Shift+GProject-Id-Version: Padre-Plugin-PerlTidy Report-Msgid-Bugs-To: POT-Creation-Date: 2009-09-09 23:40+0200 PO-Revision-Date: 2009-09-09 23:41+0100 Last-Translator: Sebastian Willing Language-Team: German MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); Dokument ist kein Perl DokumentFehlerExistiertAktives Dokument in HTML Datei exportierenAusgewählten Text in HTML Datei exportierenDatei existiert bereits. Überschreiben?PerlTidy FehlerSpeichere Datei als...Aktives Dokument aufräumen Alt+Umschalt+FAusgewählten Text aufräumen Alt+Umschalt+GPadre-Plugin-PerlTidy-0.21/share/locale/Padre__Plugin__PerlTidy-it-it.mo0000644000175000017500000000215211657721565025771 0ustar azawawiazawawi t#!"9 \fu$"{%Io*v+()@Document is not a Perl documentExistExport active document to HTML fileExport selected text to HTML fileFile already exists. Overwrite it?Perl TidyPerlTidy ErrorSave file as...Tidy the active document Alt+Shift+FTidy the selected text Alt+Shift+GProject-Id-Version: Padre2It Report-Msgid-Bugs-To: POT-Creation-Date: 2010-10-25 14:42+0300 PO-Revision-Date: 2010-11-03 15:02+0100 Last-Translator: Simone Blandino Language-Team: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Poedit-Language: Italian X-Poedit-Country: ITALY Il documento non è un documento PerlEsisteEsporta il documento attivo come file HTMLEsporta il testo selezionato come file HTMLIl file esite. Sovrascriverlo?PerlTidyErrore PerlTidySalva con nome...Riordina il documento attivo Alt+Shift+FRiordina il testo selezionato Alt+Shift+GPadre-Plugin-PerlTidy-0.21/lib/0000755000175000017500000000000011703323376016120 5ustar azawawiazawawiPadre-Plugin-PerlTidy-0.21/lib/Padre/0000755000175000017500000000000011703323376017153 5ustar azawawiazawawiPadre-Plugin-PerlTidy-0.21/lib/Padre/Plugin/0000755000175000017500000000000011703323376020411 5ustar azawawiazawawiPadre-Plugin-PerlTidy-0.21/lib/Padre/Plugin/PerlTidy.pm0000644000175000017500000002232311703323275022503 0ustar azawawiazawawipackage Padre::Plugin::PerlTidy; use 5.008002; use strict; use warnings; use File::Spec (); use File::Basename (); use Params::Util 1.04 (); use Padre::Current (); use Padre::Wx (); use Padre::Plugin 0.92 (); use FindBin qw($Bin); our $VERSION = '0.21'; our @ISA = 'Padre::Plugin'; # This constant is used when storing and restoring the cursor position. # Keep it small to limit resource use. use constant SELECTIONSIZE => 40; sub padre_interfaces { return ( 'Padre::Plugin' => '0.92', 'Padre::Wx::Main' => '0.92', ); } sub plugin_name { return Wx::gettext('Perl Tidy'); } sub menu_plugins_simple { my $self = shift; return $self->plugin_name => [ Wx::gettext("Tidy the active document\tAlt+Shift+F") => sub { $self->tidy_document; }, Wx::gettext("Tidy the selected text\tAlt+Shift+G") => sub { $self->tidy_selection; }, '---' => undef, Wx::gettext('Export active document to HTML file') => sub { $self->export_document; }, Wx::gettext('Export selected text to HTML file') => sub { $self->export_selection; }, ]; } ###################################################################### # Menu Handlers sub tidy_document { my $self = shift; my $main = $self->main; my $document = $self->current->document; my $text = $document->text_get; # Tidy the entire current document $self->{over_ride} = 0; my $perltidyrc = $self->_which_tidyrc; my $tidy = $self->_tidy( $text, $perltidyrc ); unless ( defined Params::Util::_STRING($tidy) ) { return; } # Overwrite the entire document my ( $regex, $start ) = $self->_get_cursor_position; $document->text_set($tidy); $self->_set_cursor_position( $regex, $start ); } sub tidy_selection { my $self = shift; my $main = $self->main; my $current = $self->current; my $text = $current->text; # Tidy the current selected text $self->{over_ride} = 0; my $perltidyrc = $self->_which_tidyrc; my $tidy = $self->_tidy( $text, $perltidyrc ); unless ( defined Params::Util::_STRING($tidy) ) { return; } # If the selected text does not have a newline at the end, # trim off any that Perl::Tidy has added. unless ( $text =~ /\n\z/ ) { $tidy =~ s{\n\z}{}; } # Overwrite the selected text $current->editor->ReplaceSelection($tidy); } sub export_selection { my $self = shift; my $text = $self->current->text or return; $self->_export($text); } sub export_document { my $self = shift; my $document = $self->current->document or return; $self->_export( $document->text_get ); } ###################################################################### # Support Methods sub _tidy { my $self = shift; my $source = shift; my $perltidyrc = shift; my $main = $self->main; my $document = $self->current->document; # Check for problems unless ( defined $source ) { return; } unless ( $document->isa('Padre::Document::Perl') ) { $main->error( Wx::gettext('Document is not a Perl document') ); return; } my $destination = undef; my $errorfile = undef; my %tidyargs = ( argv => \'-nse -nst', source => \$source, destination => \$destination, errorfile => \$errorfile, ); if ( $self->{over_ride} ) { $tidyargs{'perltidyrc'} = $perltidyrc; } if ( $self->{over_ride} ) { $tidyargs{'perltidyrc'} = $perltidyrc; } my $output; if ( $main->config->info_on_statusbar ) { $main->info( Wx::gettext("Running Tidy, don't forget to save changes.") ); } else { #Make sure output is visible... $main->show_output(1); $output = $main->output; } # TODO: suppress the senseless warning from PerlTidy eval { require Perl::Tidy; Perl::Tidy::perltidy(%tidyargs); }; if ( defined $errorfile ) { $main->show_output(1); $output = $main->output; my $filename = $document->filename ? $document->filename : $document->get_title; my $width = length($filename) + 2; $output->AppendText( "\n\n" . "-" x $width . "\n" . $filename . "\n" . "-" x $width . "\n" ); $output->AppendText("$errorfile\n"); } if ($@) { $main->error( Wx::gettext("PerlTidy Error") . ":\n" . $@ ); return; } if ( defined $errorfile ) { $main->show_output(1); $output = $main->output; my $filename = $document->filename ? $document->filename : $document->get_title; my $width = length($filename) + 2; $output->AppendText( "\n\n" . "-" x $width . "\n" . $filename . "\n" . "-" x $width . "\n" ); $output->AppendText("$errorfile\n"); } return $destination; } sub _export { my $self = shift; my $src = shift; my $main = $self->main; my $document = $main->current->document; return unless defined $src; if ( !$document->isa('Padre::Document::Perl') ) { $main->error( Wx::gettext('Document is not a Perl document') ); return; } my $filename = $self->_get_filename; return unless defined $filename; my ( $output, $error ); my %tidyargs = ( argv => \'-html -nnn -nse -nst', source => \$src, destination => $filename, errorfile => \$error, ); # Make sure output window is visible... $main->show_output(1); $output = $main->output; if ( my $tidyrc = $document->project->config->config_perltidy ) { $tidyargs{perltidyrc} = $tidyrc; $output->AppendText("Perl\::Tidy running with project-specific configuration $tidyrc\n"); } else { $output->AppendText("Perl::Tidy running with default or user configuration\n"); } # TODO: suppress the senseless warning from PerlTidy eval { require Perl::Tidy; Perl::Tidy::perltidy(%tidyargs); }; if ($@) { $main->error( Wx::gettext("PerlTidy Error") . ":\n" . $@ ); return; } if ( defined $error ) { my $width = length( $document->filename ) + 2; my $main = Padre::Current->main; $output->AppendText( "\n\n" . "-" x $width . "\n" . $document->filename . "\n" . "-" x $width . "\n" ); $output->AppendText("$error\n"); $main->show_output(1); } return; } sub _get_filename { my $self = shift; my $main = $self->main; my $document = $self->current->document or return; my $filename = $document->filename; my $dir = ''; if ( defined $filename ) { $dir = File::Basename::dirname($filename); } while (1) { my $dialog = Wx::FileDialog->new( $main, Wx::gettext("Save file as..."), $dir, ( $filename or $document->get_title ) . '.html', "*.*", Wx::wxFD_SAVE, ); if ( $dialog->ShowModal == Wx::wxID_CANCEL ) { return; } my $filename = $dialog->GetFilename; $dir = $dialog->GetDirectory; my $path = File::Spec->catfile( $dir, $filename ); if ( -e $path ) { return $path if $main->yes_no( Wx::gettext("File already exists. Overwrite it?"), Wx::gettext("Exist") ); } else { return $path; } } } # parameter: $main, compiled regex sub _set_cursor_position { my $self = shift; my $regex = shift; my $start = shift; my $editor = $self->current->editor or return; my $text = $editor->GetTextRange( ( $start - SELECTIONSIZE ) > 0 ? $start - SELECTIONSIZE : 0, ( $start + SELECTIONSIZE < $editor->GetLength ) ? $start + SELECTIONSIZE : $editor->GetLength ); eval { if ( $text =~ /($regex)/ ) { my $pos = $start + length $1; $editor->SetCurrentPos($pos); $editor->SetSelection( $pos, $pos ); } }; $editor->goto_line_centerize( $editor->GetCurrentLine ); return; } # parameter: $current # returns: compiled regex, start position # compiled regex is /^./ if no valid regex can be reconstructed. sub _get_cursor_position { my $self = shift; my $editor = $self->current->editor or return; my $pos = $editor->GetCurrentPos; my $start; if ( ( $pos - SELECTIONSIZE ) > 0 ) { $start = $pos - SELECTIONSIZE; } else { $start = 0; } my $prefix = $editor->GetTextRange( $start, $pos ); my $regex; eval { # Escape non-word chars $prefix =~ s/(\W)/\\$1/gm; # Replace whitespace by regex \s+ $prefix =~ s/(\\\s+)/(\\s+|\\r*\\n)*/gm; $regex = qr{$prefix}; }; if ($@) { $regex = qw{^.}; print STDERR @_; } return ( $regex, $start ); } # Pick the revelant tidyrc file sub _which_tidyrc { my $self = shift; # perl tidy Padre/tools if ( $ENV{'PADRE_DEV'} ) { my $perltidyrc = eval { File::Spec->catfile( $Bin, '../../tools/perltidyrc' ); }; if ( -e $perltidyrc ) { $self->{over_ride} = 1; return $perltidyrc; } my $main = $self->main; Wx::MessageBox( Wx::gettext("You need to install from SVN Padre/tools."), Wx::gettext("tools/perltidyrc missing"), Wx::wxCANCEL, $main, ); } return; } 1; =pod =head1 NAME Padre::Plugin::PerlTidy - Format perl files using Perl::Tidy =head1 DESCRIPTION This is a simple plugin to run L on your source code. Currently there are no customisable options (since the Padre plugin system doesn't support that yet) - however Perl::Tidy will use your normal .perltidyrc file if it exists (see Perl::Tidy documentation). =head1 METHODS =head2 padre_interfaces Indicates our compatibility with Padre. =head2 plugin_name A simple accessor for the name of the plugin. =head2 menu_plugins_simple Menu items for this plugin. =head2 tidy_document Runs Perl::Tidy on the current document. =head2 export_document Export the current document as html. =head2 tidy_selection Runs Perl::Tidy on the current code selection. =head2 export_selection Export the current code selection as html. =cut Padre-Plugin-PerlTidy-0.21/MYMETA.yml0000644000175000017500000000107011703323353017062 0ustar azawawiazawawi--- abstract: 'Format perl files using Perl::Tidy' author: - 'Brian Cassidy ' build_requires: ExtUtils::MakeMaker: 6.62 Test::More: 0.42 configure_requires: ExtUtils::MakeMaker: 0 dynamic_config: 0 generated_by: 'ExtUtils::MakeMaker version 6.62, CPAN::Meta::Converter version 2.112621' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html version: 1.4 name: Padre-Plugin-PerlTidy no_index: directory: - t - inc requires: Padre::Plugin: 0.92 Params::Util: 1.04 perl: 5.008002 version: 0.21 Padre-Plugin-PerlTidy-0.21/MANIFEST0000644000175000017500000000246111703323355016503 0ustar azawawiazawawiChanges inc/Module/Install.pm inc/Module/Install/Base.pm inc/Module/Install/Can.pm inc/Module/Install/Fetch.pm inc/Module/Install/Makefile.pm inc/Module/Install/Metadata.pm inc/Module/Install/Win32.pm inc/Module/Install/WriteAll.pm lib/Padre/Plugin/PerlTidy.pm Makefile.PL MANIFEST This list of files MYMETA.json MYMETA.yml share/locale/Padre__Plugin__PerlTidy-ar.mo share/locale/Padre__Plugin__PerlTidy-ar.po share/locale/Padre__Plugin__PerlTidy-de.mo share/locale/Padre__Plugin__PerlTidy-de.po share/locale/Padre__Plugin__PerlTidy-es-es.mo share/locale/Padre__Plugin__PerlTidy-es-es.po share/locale/Padre__Plugin__PerlTidy-fr.mo share/locale/Padre__Plugin__PerlTidy-fr.po share/locale/Padre__Plugin__PerlTidy-it-it.mo share/locale/Padre__Plugin__PerlTidy-it-it.po share/locale/Padre__Plugin__PerlTidy-ja.mo share/locale/Padre__Plugin__PerlTidy-ja.po share/locale/Padre__Plugin__PerlTidy-nl-nl.mo share/locale/Padre__Plugin__PerlTidy-nl-nl.po share/locale/Padre__Plugin__PerlTidy-pl.mo share/locale/Padre__Plugin__PerlTidy-pl.po share/locale/Padre__Plugin__PerlTidy-pt-br.mo share/locale/Padre__Plugin__PerlTidy-pt-br.po share/locale/Padre__Plugin__PerlTidy-tr.mo share/locale/Padre__Plugin__PerlTidy-tr.po share/locale/Padre__Plugin__PerlTidy-zh-tw.mo share/locale/Padre__Plugin__PerlTidy-zh-tw.po t/01_compile.t t/02_menu.t Padre-Plugin-PerlTidy-0.21/MYMETA.json0000644000175000017500000000175211703323353017241 0ustar azawawiazawawi{ "abstract" : "Format perl files using Perl::Tidy", "author" : [ "Brian Cassidy " ], "dynamic_config" : 0, "generated_by" : "ExtUtils::MakeMaker version 6.62, CPAN::Meta::Converter version 2.112621", "license" : [ "perl_5" ], "meta-spec" : { "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", "version" : "2" }, "name" : "Padre-Plugin-PerlTidy", "no_index" : { "directory" : [ "t", "inc" ] }, "prereqs" : { "build" : { "requires" : { "ExtUtils::MakeMaker" : "6.62", "Test::More" : "0.42" } }, "configure" : { "requires" : { "ExtUtils::MakeMaker" : 0 } }, "runtime" : { "requires" : { "Padre::Plugin" : "0.92", "Params::Util" : "1.04", "perl" : "5.008002" } } }, "release_status" : "stable", "version" : "0.21" } Padre-Plugin-PerlTidy-0.21/inc/0000755000175000017500000000000011703323376016123 5ustar azawawiazawawiPadre-Plugin-PerlTidy-0.21/inc/Module/0000755000175000017500000000000011703323376017350 5ustar azawawiazawawiPadre-Plugin-PerlTidy-0.21/inc/Module/Install.pm0000644000175000017500000003013511663400420021305 0ustar azawawiazawawi#line 1 package Module::Install; # For any maintainers: # The load order for Module::Install is a bit magic. # It goes something like this... # # IF ( host has Module::Install installed, creating author mode ) { # 1. Makefile.PL calls "use inc::Module::Install" # 2. $INC{inc/Module/Install.pm} set to installed version of inc::Module::Install # 3. The installed version of inc::Module::Install loads # 4. inc::Module::Install calls "require Module::Install" # 5. The ./inc/ version of Module::Install loads # } ELSE { # 1. Makefile.PL calls "use inc::Module::Install" # 2. $INC{inc/Module/Install.pm} set to ./inc/ version of Module::Install # 3. The ./inc/ version of Module::Install loads # } use 5.005; use strict 'vars'; use Cwd (); use File::Find (); use File::Path (); use vars qw{$VERSION $MAIN}; BEGIN { # All Module::Install core packages now require synchronised versions. # This will be used to ensure we don't accidentally load old or # different versions of modules. # This is not enforced yet, but will be some time in the next few # releases once we can make sure it won't clash with custom # Module::Install extensions. $VERSION = '1.04'; # Storage for the pseudo-singleton $MAIN = undef; *inc::Module::Install::VERSION = *VERSION; @inc::Module::Install::ISA = __PACKAGE__; } sub import { my $class = shift; my $self = $class->new(@_); my $who = $self->_caller; #------------------------------------------------------------- # all of the following checks should be included in import(), # to allow "eval 'require Module::Install; 1' to test # installation of Module::Install. (RT #51267) #------------------------------------------------------------- # Whether or not inc::Module::Install is actually loaded, the # $INC{inc/Module/Install.pm} is what will still get set as long as # the caller loaded module this in the documented manner. # If not set, the caller may NOT have loaded the bundled version, and thus # they may not have a MI version that works with the Makefile.PL. This would # result in false errors or unexpected behaviour. And we don't want that. my $file = join( '/', 'inc', split /::/, __PACKAGE__ ) . '.pm'; unless ( $INC{$file} ) { die <<"END_DIE" } Please invoke ${\__PACKAGE__} with: use inc::${\__PACKAGE__}; not: use ${\__PACKAGE__}; END_DIE # This reportedly fixes a rare Win32 UTC file time issue, but # as this is a non-cross-platform XS module not in the core, # we shouldn't really depend on it. See RT #24194 for detail. # (Also, this module only supports Perl 5.6 and above). eval "use Win32::UTCFileTime" if $^O eq 'MSWin32' && $] >= 5.006; # If the script that is loading Module::Install is from the future, # then make will detect this and cause it to re-run over and over # again. This is bad. Rather than taking action to touch it (which # is unreliable on some platforms and requires write permissions) # for now we should catch this and refuse to run. if ( -f $0 ) { my $s = (stat($0))[9]; # If the modification time is only slightly in the future, # sleep briefly to remove the problem. my $a = $s - time; if ( $a > 0 and $a < 5 ) { sleep 5 } # Too far in the future, throw an error. my $t = time; if ( $s > $t ) { die <<"END_DIE" } Your installer $0 has a modification time in the future ($s > $t). This is known to create infinite loops in make. Please correct this, then run $0 again. END_DIE } # Build.PL was formerly supported, but no longer is due to excessive # difficulty in implementing every single feature twice. if ( $0 =~ /Build.PL$/i ) { die <<"END_DIE" } Module::Install no longer supports Build.PL. It was impossible to maintain duel backends, and has been deprecated. Please remove all Build.PL files and only use the Makefile.PL installer. END_DIE #------------------------------------------------------------- # To save some more typing in Module::Install installers, every... # use inc::Module::Install # ...also acts as an implicit use strict. $^H |= strict::bits(qw(refs subs vars)); #------------------------------------------------------------- unless ( -f $self->{file} ) { foreach my $key (keys %INC) { delete $INC{$key} if $key =~ /Module\/Install/; } local $^W; require "$self->{path}/$self->{dispatch}.pm"; File::Path::mkpath("$self->{prefix}/$self->{author}"); $self->{admin} = "$self->{name}::$self->{dispatch}"->new( _top => $self ); $self->{admin}->init; @_ = ($class, _self => $self); goto &{"$self->{name}::import"}; } local $^W; *{"${who}::AUTOLOAD"} = $self->autoload; $self->preload; # Unregister loader and worker packages so subdirs can use them again delete $INC{'inc/Module/Install.pm'}; delete $INC{'Module/Install.pm'}; # Save to the singleton $MAIN = $self; return 1; } sub autoload { my $self = shift; my $who = $self->_caller; my $cwd = Cwd::cwd(); my $sym = "${who}::AUTOLOAD"; $sym->{$cwd} = sub { my $pwd = Cwd::cwd(); if ( my $code = $sym->{$pwd} ) { # Delegate back to parent dirs goto &$code unless $cwd eq $pwd; } unless ($$sym =~ s/([^:]+)$//) { # XXX: it looks like we can't retrieve the missing function # via $$sym (usually $main::AUTOLOAD) in this case. # I'm still wondering if we should slurp Makefile.PL to # get some context or not ... my ($package, $file, $line) = caller; die <<"EOT"; Unknown function is found at $file line $line. Execution of $file aborted due to runtime errors. If you're a contributor to a project, you may need to install some Module::Install extensions from CPAN (or other repository). If you're a user of a module, please contact the author. EOT } my $method = $1; if ( uc($method) eq $method ) { # Do nothing return; } elsif ( $method =~ /^_/ and $self->can($method) ) { # Dispatch to the root M:I class return $self->$method(@_); } # Dispatch to the appropriate plugin unshift @_, ( $self, $1 ); goto &{$self->can('call')}; }; } sub preload { my $self = shift; unless ( $self->{extensions} ) { $self->load_extensions( "$self->{prefix}/$self->{path}", $self ); } my @exts = @{$self->{extensions}}; unless ( @exts ) { @exts = $self->{admin}->load_all_extensions; } my %seen; foreach my $obj ( @exts ) { while (my ($method, $glob) = each %{ref($obj) . '::'}) { next unless $obj->can($method); next if $method =~ /^_/; next if $method eq uc($method); $seen{$method}++; } } my $who = $self->_caller; foreach my $name ( sort keys %seen ) { local $^W; *{"${who}::$name"} = sub { ${"${who}::AUTOLOAD"} = "${who}::$name"; goto &{"${who}::AUTOLOAD"}; }; } } sub new { my ($class, %args) = @_; delete $INC{'FindBin.pm'}; { # to suppress the redefine warning local $SIG{__WARN__} = sub {}; require FindBin; } # ignore the prefix on extension modules built from top level. my $base_path = Cwd::abs_path($FindBin::Bin); unless ( Cwd::abs_path(Cwd::cwd()) eq $base_path ) { delete $args{prefix}; } return $args{_self} if $args{_self}; $args{dispatch} ||= 'Admin'; $args{prefix} ||= 'inc'; $args{author} ||= ($^O eq 'VMS' ? '_author' : '.author'); $args{bundle} ||= 'inc/BUNDLES'; $args{base} ||= $base_path; $class =~ s/^\Q$args{prefix}\E:://; $args{name} ||= $class; $args{version} ||= $class->VERSION; unless ( $args{path} ) { $args{path} = $args{name}; $args{path} =~ s!::!/!g; } $args{file} ||= "$args{base}/$args{prefix}/$args{path}.pm"; $args{wrote} = 0; bless( \%args, $class ); } sub call { my ($self, $method) = @_; my $obj = $self->load($method) or return; splice(@_, 0, 2, $obj); goto &{$obj->can($method)}; } sub load { my ($self, $method) = @_; $self->load_extensions( "$self->{prefix}/$self->{path}", $self ) unless $self->{extensions}; foreach my $obj (@{$self->{extensions}}) { return $obj if $obj->can($method); } my $admin = $self->{admin} or die <<"END_DIE"; The '$method' method does not exist in the '$self->{prefix}' path! Please remove the '$self->{prefix}' directory and run $0 again to load it. END_DIE my $obj = $admin->load($method, 1); push @{$self->{extensions}}, $obj; $obj; } sub load_extensions { my ($self, $path, $top) = @_; my $should_reload = 0; unless ( grep { ! ref $_ and lc $_ eq lc $self->{prefix} } @INC ) { unshift @INC, $self->{prefix}; $should_reload = 1; } foreach my $rv ( $self->find_extensions($path) ) { my ($file, $pkg) = @{$rv}; next if $self->{pathnames}{$pkg}; local $@; my $new = eval { local $^W; require $file; $pkg->can('new') }; unless ( $new ) { warn $@ if $@; next; } $self->{pathnames}{$pkg} = $should_reload ? delete $INC{$file} : $INC{$file}; push @{$self->{extensions}}, &{$new}($pkg, _top => $top ); } $self->{extensions} ||= []; } sub find_extensions { my ($self, $path) = @_; my @found; File::Find::find( sub { my $file = $File::Find::name; return unless $file =~ m!^\Q$path\E/(.+)\.pm\Z!is; my $subpath = $1; return if lc($subpath) eq lc($self->{dispatch}); $file = "$self->{path}/$subpath.pm"; my $pkg = "$self->{name}::$subpath"; $pkg =~ s!/!::!g; # If we have a mixed-case package name, assume case has been preserved # correctly. Otherwise, root through the file to locate the case-preserved # version of the package name. if ( $subpath eq lc($subpath) || $subpath eq uc($subpath) ) { my $content = Module::Install::_read($subpath . '.pm'); my $in_pod = 0; foreach ( split //, $content ) { $in_pod = 1 if /^=\w/; $in_pod = 0 if /^=cut/; next if ($in_pod || /^=cut/); # skip pod text next if /^\s*#/; # and comments if ( m/^\s*package\s+($pkg)\s*;/i ) { $pkg = $1; last; } } } push @found, [ $file, $pkg ]; }, $path ) if -d $path; @found; } ##################################################################### # Common Utility Functions sub _caller { my $depth = 0; my $call = caller($depth); while ( $call eq __PACKAGE__ ) { $depth++; $call = caller($depth); } return $call; } # Done in evals to avoid confusing Perl::MinimumVersion eval( $] >= 5.006 ? <<'END_NEW' : <<'END_OLD' ); die $@ if $@; sub _read { local *FH; open( FH, '<', $_[0] ) or die "open($_[0]): $!"; my $string = do { local $/; }; close FH or die "close($_[0]): $!"; return $string; } END_NEW sub _read { local *FH; open( FH, "< $_[0]" ) or die "open($_[0]): $!"; my $string = do { local $/; }; close FH or die "close($_[0]): $!"; return $string; } END_OLD sub _readperl { my $string = Module::Install::_read($_[0]); $string =~ s/(?:\015{1,2}\012|\015|\012)/\n/sg; $string =~ s/(\n)\n*__(?:DATA|END)__\b.*\z/$1/s; $string =~ s/\n\n=\w+.+?\n\n=cut\b.+?\n+/\n\n/sg; return $string; } sub _readpod { my $string = Module::Install::_read($_[0]); $string =~ s/(?:\015{1,2}\012|\015|\012)/\n/sg; return $string if $_[0] =~ /\.pod\z/; $string =~ s/(^|\n=cut\b.+?\n+)[^=\s].+?\n(\n=\w+|\z)/$1$2/sg; $string =~ s/\n*=pod\b[^\n]*\n+/\n\n/sg; $string =~ s/\n*=cut\b[^\n]*\n+/\n\n/sg; $string =~ s/^\n+//s; return $string; } # Done in evals to avoid confusing Perl::MinimumVersion eval( $] >= 5.006 ? <<'END_NEW' : <<'END_OLD' ); die $@ if $@; sub _write { local *FH; open( FH, '>', $_[0] ) or die "open($_[0]): $!"; foreach ( 1 .. $#_ ) { print FH $_[$_] or die "print($_[0]): $!"; } close FH or die "close($_[0]): $!"; } END_NEW sub _write { local *FH; open( FH, "> $_[0]" ) or die "open($_[0]): $!"; foreach ( 1 .. $#_ ) { print FH $_[$_] or die "print($_[0]): $!"; } close FH or die "close($_[0]): $!"; } END_OLD # _version is for processing module versions (eg, 1.03_05) not # Perl versions (eg, 5.8.1). sub _version ($) { my $s = shift || 0; my $d =()= $s =~ /(\.)/g; if ( $d >= 2 ) { # Normalise multipart versions $s =~ s/(\.)(\d{1,3})/sprintf("$1%03d",$2)/eg; } $s =~ s/^(\d+)\.?//; my $l = $1 || 0; my @v = map { $_ . '0' x (3 - length $_) } $s =~ /(\d{1,3})\D?/g; $l = $l . '.' . join '', @v if @v; return $l + 0; } sub _cmp ($$) { _version($_[1]) <=> _version($_[2]); } # Cloned from Params::Util::_CLASS sub _CLASS ($) { ( defined $_[0] and ! ref $_[0] and $_[0] =~ m/^[^\W\d]\w*(?:::\w+)*\z/s ) ? $_[0] : undef; } 1; # Copyright 2008 - 2011 Adam Kennedy. Padre-Plugin-PerlTidy-0.21/inc/Module/Install/0000755000175000017500000000000011703323376020756 5ustar azawawiazawawiPadre-Plugin-PerlTidy-0.21/inc/Module/Install/Makefile.pm0000644000175000017500000002701211663400420023022 0ustar azawawiazawawi#line 1 package Module::Install::Makefile; use strict 'vars'; use ExtUtils::MakeMaker (); use Module::Install::Base (); use Fcntl qw/:flock :seek/; use vars qw{$VERSION @ISA $ISCORE}; BEGIN { $VERSION = '1.04'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } sub Makefile { $_[0] } my %seen = (); sub prompt { shift; # Infinite loop protection my @c = caller(); if ( ++$seen{"$c[1]|$c[2]|$_[0]"} > 3 ) { die "Caught an potential prompt infinite loop ($c[1]|$c[2]|$_[0])"; } # In automated testing or non-interactive session, always use defaults if ( ($ENV{AUTOMATED_TESTING} or -! -t STDIN) and ! $ENV{PERL_MM_USE_DEFAULT} ) { local $ENV{PERL_MM_USE_DEFAULT} = 1; goto &ExtUtils::MakeMaker::prompt; } else { goto &ExtUtils::MakeMaker::prompt; } } # Store a cleaned up version of the MakeMaker version, # since we need to behave differently in a variety of # ways based on the MM version. my $makemaker = eval $ExtUtils::MakeMaker::VERSION; # If we are passed a param, do a "newer than" comparison. # Otherwise, just return the MakeMaker version. sub makemaker { ( @_ < 2 or $makemaker >= eval($_[1]) ) ? $makemaker : 0 } # Ripped from ExtUtils::MakeMaker 6.56, and slightly modified # as we only need to know here whether the attribute is an array # or a hash or something else (which may or may not be appendable). my %makemaker_argtype = ( C => 'ARRAY', CONFIG => 'ARRAY', # CONFIGURE => 'CODE', # ignore DIR => 'ARRAY', DL_FUNCS => 'HASH', DL_VARS => 'ARRAY', EXCLUDE_EXT => 'ARRAY', EXE_FILES => 'ARRAY', FUNCLIST => 'ARRAY', H => 'ARRAY', IMPORTS => 'HASH', INCLUDE_EXT => 'ARRAY', LIBS => 'ARRAY', # ignore '' MAN1PODS => 'HASH', MAN3PODS => 'HASH', META_ADD => 'HASH', META_MERGE => 'HASH', PL_FILES => 'HASH', PM => 'HASH', PMLIBDIRS => 'ARRAY', PMLIBPARENTDIRS => 'ARRAY', PREREQ_PM => 'HASH', CONFIGURE_REQUIRES => 'HASH', SKIP => 'ARRAY', TYPEMAPS => 'ARRAY', XS => 'HASH', # VERSION => ['version',''], # ignore # _KEEP_AFTER_FLUSH => '', clean => 'HASH', depend => 'HASH', dist => 'HASH', dynamic_lib=> 'HASH', linkext => 'HASH', macro => 'HASH', postamble => 'HASH', realclean => 'HASH', test => 'HASH', tool_autosplit => 'HASH', # special cases where you can use makemaker_append CCFLAGS => 'APPENDABLE', DEFINE => 'APPENDABLE', INC => 'APPENDABLE', LDDLFLAGS => 'APPENDABLE', LDFROM => 'APPENDABLE', ); sub makemaker_args { my ($self, %new_args) = @_; my $args = ( $self->{makemaker_args} ||= {} ); foreach my $key (keys %new_args) { if ($makemaker_argtype{$key}) { if ($makemaker_argtype{$key} eq 'ARRAY') { $args->{$key} = [] unless defined $args->{$key}; unless (ref $args->{$key} eq 'ARRAY') { $args->{$key} = [$args->{$key}] } push @{$args->{$key}}, ref $new_args{$key} eq 'ARRAY' ? @{$new_args{$key}} : $new_args{$key}; } elsif ($makemaker_argtype{$key} eq 'HASH') { $args->{$key} = {} unless defined $args->{$key}; foreach my $skey (keys %{ $new_args{$key} }) { $args->{$key}{$skey} = $new_args{$key}{$skey}; } } elsif ($makemaker_argtype{$key} eq 'APPENDABLE') { $self->makemaker_append($key => $new_args{$key}); } } else { if (defined $args->{$key}) { warn qq{MakeMaker attribute "$key" is overriden; use "makemaker_append" to append values\n}; } $args->{$key} = $new_args{$key}; } } return $args; } # For mm args that take multiple space-seperated args, # append an argument to the current list. sub makemaker_append { my $self = shift; my $name = shift; my $args = $self->makemaker_args; $args->{$name} = defined $args->{$name} ? join( ' ', $args->{$name}, @_ ) : join( ' ', @_ ); } sub build_subdirs { my $self = shift; my $subdirs = $self->makemaker_args->{DIR} ||= []; for my $subdir (@_) { push @$subdirs, $subdir; } } sub clean_files { my $self = shift; my $clean = $self->makemaker_args->{clean} ||= {}; %$clean = ( %$clean, FILES => join ' ', grep { length $_ } ($clean->{FILES} || (), @_), ); } sub realclean_files { my $self = shift; my $realclean = $self->makemaker_args->{realclean} ||= {}; %$realclean = ( %$realclean, FILES => join ' ', grep { length $_ } ($realclean->{FILES} || (), @_), ); } sub libs { my $self = shift; my $libs = ref $_[0] ? shift : [ shift ]; $self->makemaker_args( LIBS => $libs ); } sub inc { my $self = shift; $self->makemaker_args( INC => shift ); } sub _wanted_t { } sub tests_recursive { my $self = shift; my $dir = shift || 't'; unless ( -d $dir ) { die "tests_recursive dir '$dir' does not exist"; } my %tests = map { $_ => 1 } split / /, ($self->tests || ''); require File::Find; File::Find::find( sub { /\.t$/ and -f $_ and $tests{"$File::Find::dir/*.t"} = 1 }, $dir ); $self->tests( join ' ', sort keys %tests ); } sub write { my $self = shift; die "&Makefile->write() takes no arguments\n" if @_; # Check the current Perl version my $perl_version = $self->perl_version; if ( $perl_version ) { eval "use $perl_version; 1" or die "ERROR: perl: Version $] is installed, " . "but we need version >= $perl_version"; } # Make sure we have a new enough MakeMaker require ExtUtils::MakeMaker; if ( $perl_version and $self->_cmp($perl_version, '5.006') >= 0 ) { # MakeMaker can complain about module versions that include # an underscore, even though its own version may contain one! # Hence the funny regexp to get rid of it. See RT #35800 # for details. my ($v) = $ExtUtils::MakeMaker::VERSION =~ /^(\d+\.\d+)/; $self->build_requires( 'ExtUtils::MakeMaker' => $v ); $self->configure_requires( 'ExtUtils::MakeMaker' => $v ); } else { # Allow legacy-compatibility with 5.005 by depending on the # most recent EU:MM that supported 5.005. $self->build_requires( 'ExtUtils::MakeMaker' => 6.36 ); $self->configure_requires( 'ExtUtils::MakeMaker' => 6.36 ); } # Generate the MakeMaker params my $args = $self->makemaker_args; $args->{DISTNAME} = $self->name; $args->{NAME} = $self->module_name || $self->name; $args->{NAME} =~ s/-/::/g; $args->{VERSION} = $self->version or die <<'EOT'; ERROR: Can't determine distribution version. Please specify it explicitly via 'version' in Makefile.PL, or set a valid $VERSION in a module, and provide its file path via 'version_from' (or 'all_from' if you prefer) in Makefile.PL. EOT if ( $self->tests ) { my @tests = split ' ', $self->tests; my %seen; $args->{test} = { TESTS => (join ' ', grep {!$seen{$_}++} @tests), }; } elsif ( $Module::Install::ExtraTests::use_extratests ) { # Module::Install::ExtraTests doesn't set $self->tests and does its own tests via harness. # So, just ignore our xt tests here. } elsif ( -d 'xt' and ($Module::Install::AUTHOR or $ENV{RELEASE_TESTING}) ) { $args->{test} = { TESTS => join( ' ', map { "$_/*.t" } grep { -d $_ } qw{ t xt } ), }; } if ( $] >= 5.005 ) { $args->{ABSTRACT} = $self->abstract; $args->{AUTHOR} = join ', ', @{$self->author || []}; } if ( $self->makemaker(6.10) ) { $args->{NO_META} = 1; #$args->{NO_MYMETA} = 1; } if ( $self->makemaker(6.17) and $self->sign ) { $args->{SIGN} = 1; } unless ( $self->is_admin ) { delete $args->{SIGN}; } if ( $self->makemaker(6.31) and $self->license ) { $args->{LICENSE} = $self->license; } my $prereq = ($args->{PREREQ_PM} ||= {}); %$prereq = ( %$prereq, map { @$_ } # flatten [module => version] map { @$_ } grep $_, ($self->requires) ); # Remove any reference to perl, PREREQ_PM doesn't support it delete $args->{PREREQ_PM}->{perl}; # Merge both kinds of requires into BUILD_REQUIRES my $build_prereq = ($args->{BUILD_REQUIRES} ||= {}); %$build_prereq = ( %$build_prereq, map { @$_ } # flatten [module => version] map { @$_ } grep $_, ($self->configure_requires, $self->build_requires) ); # Remove any reference to perl, BUILD_REQUIRES doesn't support it delete $args->{BUILD_REQUIRES}->{perl}; # Delete bundled dists from prereq_pm, add it to Makefile DIR my $subdirs = ($args->{DIR} || []); if ($self->bundles) { my %processed; foreach my $bundle (@{ $self->bundles }) { my ($mod_name, $dist_dir) = @$bundle; delete $prereq->{$mod_name}; $dist_dir = File::Basename::basename($dist_dir); # dir for building this module if (not exists $processed{$dist_dir}) { if (-d $dist_dir) { # List as sub-directory to be processed by make push @$subdirs, $dist_dir; } # Else do nothing: the module is already present on the system $processed{$dist_dir} = undef; } } } unless ( $self->makemaker('6.55_03') ) { %$prereq = (%$prereq,%$build_prereq); delete $args->{BUILD_REQUIRES}; } if ( my $perl_version = $self->perl_version ) { eval "use $perl_version; 1" or die "ERROR: perl: Version $] is installed, " . "but we need version >= $perl_version"; if ( $self->makemaker(6.48) ) { $args->{MIN_PERL_VERSION} = $perl_version; } } if ($self->installdirs) { warn qq{old INSTALLDIRS (probably set by makemaker_args) is overriden by installdirs\n} if $args->{INSTALLDIRS}; $args->{INSTALLDIRS} = $self->installdirs; } my %args = map { ( $_ => $args->{$_} ) } grep {defined($args->{$_} ) } keys %$args; my $user_preop = delete $args{dist}->{PREOP}; if ( my $preop = $self->admin->preop($user_preop) ) { foreach my $key ( keys %$preop ) { $args{dist}->{$key} = $preop->{$key}; } } my $mm = ExtUtils::MakeMaker::WriteMakefile(%args); $self->fix_up_makefile($mm->{FIRST_MAKEFILE} || 'Makefile'); } sub fix_up_makefile { my $self = shift; my $makefile_name = shift; my $top_class = ref($self->_top) || ''; my $top_version = $self->_top->VERSION || ''; my $preamble = $self->preamble ? "# Preamble by $top_class $top_version\n" . $self->preamble : ''; my $postamble = "# Postamble by $top_class $top_version\n" . ($self->postamble || ''); local *MAKEFILE; open MAKEFILE, "+< $makefile_name" or die "fix_up_makefile: Couldn't open $makefile_name: $!"; eval { flock MAKEFILE, LOCK_EX }; my $makefile = do { local $/; }; $makefile =~ s/\b(test_harness\(\$\(TEST_VERBOSE\), )/$1'inc', /; $makefile =~ s/( -I\$\(INST_ARCHLIB\))/ -Iinc$1/g; $makefile =~ s/( "-I\$\(INST_LIB\)")/ "-Iinc"$1/g; $makefile =~ s/^(FULLPERL = .*)/$1 "-Iinc"/m; $makefile =~ s/^(PERL = .*)/$1 "-Iinc"/m; # Module::Install will never be used to build the Core Perl # Sometimes PERL_LIB and PERL_ARCHLIB get written anyway, which breaks # PREFIX/PERL5LIB, and thus, install_share. Blank them if they exist $makefile =~ s/^PERL_LIB = .+/PERL_LIB =/m; #$makefile =~ s/^PERL_ARCHLIB = .+/PERL_ARCHLIB =/m; # Perl 5.005 mentions PERL_LIB explicitly, so we have to remove that as well. $makefile =~ s/(\"?)-I\$\(PERL_LIB\)\1//g; # XXX - This is currently unused; not sure if it breaks other MM-users # $makefile =~ s/^pm_to_blib\s+:\s+/pm_to_blib :: /mg; seek MAKEFILE, 0, SEEK_SET; truncate MAKEFILE, 0; print MAKEFILE "$preamble$makefile$postamble" or die $!; close MAKEFILE or die $!; 1; } sub preamble { my ($self, $text) = @_; $self->{preamble} = $text . $self->{preamble} if defined $text; $self->{preamble}; } sub postamble { my ($self, $text) = @_; $self->{postamble} ||= $self->admin->postamble; $self->{postamble} .= $text if defined $text; $self->{postamble} } 1; __END__ #line 540 Padre-Plugin-PerlTidy-0.21/inc/Module/Install/Win32.pm0000644000175000017500000000340311663400420022205 0ustar azawawiazawawi#line 1 package Module::Install::Win32; use strict; use Module::Install::Base (); use vars qw{$VERSION @ISA $ISCORE}; BEGIN { $VERSION = '1.04'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } # determine if the user needs nmake, and download it if needed sub check_nmake { my $self = shift; $self->load('can_run'); $self->load('get_file'); require Config; return unless ( $^O eq 'MSWin32' and $Config::Config{make} and $Config::Config{make} =~ /^nmake\b/i and ! $self->can_run('nmake') ); print "The required 'nmake' executable not found, fetching it...\n"; require File::Basename; my $rv = $self->get_file( url => 'http://download.microsoft.com/download/vc15/Patch/1.52/W95/EN-US/Nmake15.exe', ftp_url => 'ftp://ftp.microsoft.com/Softlib/MSLFILES/Nmake15.exe', local_dir => File::Basename::dirname($^X), size => 51928, run => 'Nmake15.exe /o > nul', check_for => 'Nmake.exe', remove => 1, ); die <<'END_MESSAGE' unless $rv; ------------------------------------------------------------------------------- Since you are using Microsoft Windows, you will need the 'nmake' utility before installation. It's available at: http://download.microsoft.com/download/vc15/Patch/1.52/W95/EN-US/Nmake15.exe or ftp://ftp.microsoft.com/Softlib/MSLFILES/Nmake15.exe Please download the file manually, save it to a directory in %PATH% (e.g. C:\WINDOWS\COMMAND\), then launch the MS-DOS command line shell, "cd" to that directory, and run "Nmake15.exe" from there; that will create the 'nmake.exe' file needed by this module. You may then resume the installation process described in README. ------------------------------------------------------------------------------- END_MESSAGE } 1; Padre-Plugin-PerlTidy-0.21/inc/Module/Install/Base.pm0000644000175000017500000000214711663400420022161 0ustar azawawiazawawi#line 1 package Module::Install::Base; use strict 'vars'; use vars qw{$VERSION}; BEGIN { $VERSION = '1.04'; } # Suspend handler for "redefined" warnings BEGIN { my $w = $SIG{__WARN__}; $SIG{__WARN__} = sub { $w }; } #line 42 sub new { my $class = shift; unless ( defined &{"${class}::call"} ) { *{"${class}::call"} = sub { shift->_top->call(@_) }; } unless ( defined &{"${class}::load"} ) { *{"${class}::load"} = sub { shift->_top->load(@_) }; } bless { @_ }, $class; } #line 61 sub AUTOLOAD { local $@; my $func = eval { shift->_top->autoload } or return; goto &$func; } #line 75 sub _top { $_[0]->{_top}; } #line 90 sub admin { $_[0]->_top->{admin} or Module::Install::Base::FakeAdmin->new; } #line 106 sub is_admin { ! $_[0]->admin->isa('Module::Install::Base::FakeAdmin'); } sub DESTROY {} package Module::Install::Base::FakeAdmin; use vars qw{$VERSION}; BEGIN { $VERSION = $Module::Install::Base::VERSION; } my $fake; sub new { $fake ||= bless(\@_, $_[0]); } sub AUTOLOAD {} sub DESTROY {} # Restore warning handler BEGIN { $SIG{__WARN__} = $SIG{__WARN__}->(); } 1; #line 159 Padre-Plugin-PerlTidy-0.21/inc/Module/Install/WriteAll.pm0000644000175000017500000000237611663400420023036 0ustar azawawiazawawi#line 1 package Module::Install::WriteAll; use strict; use Module::Install::Base (); use vars qw{$VERSION @ISA $ISCORE}; BEGIN { $VERSION = '1.04'; @ISA = qw{Module::Install::Base}; $ISCORE = 1; } sub WriteAll { my $self = shift; my %args = ( meta => 1, sign => 0, inline => 0, check_nmake => 1, @_, ); $self->sign(1) if $args{sign}; $self->admin->WriteAll(%args) if $self->is_admin; $self->check_nmake if $args{check_nmake}; unless ( $self->makemaker_args->{PL_FILES} ) { # XXX: This still may be a bit over-defensive... unless ($self->makemaker(6.25)) { $self->makemaker_args( PL_FILES => {} ) if -f 'Build.PL'; } } # Until ExtUtils::MakeMaker support MYMETA.yml, make sure # we clean it up properly ourself. $self->realclean_files('MYMETA.yml'); if ( $args{inline} ) { $self->Inline->write; } else { $self->Makefile->write; } # The Makefile write process adds a couple of dependencies, # so write the META.yml files after the Makefile. if ( $args{meta} ) { $self->Meta->write; } # Experimental support for MYMETA if ( $ENV{X_MYMETA} ) { if ( $ENV{X_MYMETA} eq 'JSON' ) { $self->Meta->write_mymeta_json; } else { $self->Meta->write_mymeta_yaml; } } return 1; } 1; Padre-Plugin-PerlTidy-0.21/inc/Module/Install/Can.pm0000644000175000017500000000333311663400420022006 0ustar azawawiazawawi#line 1 package Module::Install::Can; use strict; use Config (); use File::Spec (); use ExtUtils::MakeMaker (); use Module::Install::Base (); use vars qw{$VERSION @ISA $ISCORE}; BEGIN { $VERSION = '1.04'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } # check if we can load some module ### Upgrade this to not have to load the module if possible sub can_use { my ($self, $mod, $ver) = @_; $mod =~ s{::|\\}{/}g; $mod .= '.pm' unless $mod =~ /\.pm$/i; my $pkg = $mod; $pkg =~ s{/}{::}g; $pkg =~ s{\.pm$}{}i; local $@; eval { require $mod; $pkg->VERSION($ver || 0); 1 }; } # check if we can run some command sub can_run { my ($self, $cmd) = @_; my $_cmd = $cmd; return $_cmd if (-x $_cmd or $_cmd = MM->maybe_command($_cmd)); for my $dir ((split /$Config::Config{path_sep}/, $ENV{PATH}), '.') { next if $dir eq ''; my $abs = File::Spec->catfile($dir, $_[1]); return $abs if (-x $abs or $abs = MM->maybe_command($abs)); } return; } # can we locate a (the) C compiler sub can_cc { my $self = shift; my @chunks = split(/ /, $Config::Config{cc}) or return; # $Config{cc} may contain args; try to find out the program part while (@chunks) { return $self->can_run("@chunks") || (pop(@chunks), next); } return; } # Fix Cygwin bug on maybe_command(); if ( $^O eq 'cygwin' ) { require ExtUtils::MM_Cygwin; require ExtUtils::MM_Win32; if ( ! defined(&ExtUtils::MM_Cygwin::maybe_command) ) { *ExtUtils::MM_Cygwin::maybe_command = sub { my ($self, $file) = @_; if ($file =~ m{^/cygdrive/}i and ExtUtils::MM_Win32->can('maybe_command')) { ExtUtils::MM_Win32->maybe_command($file); } else { ExtUtils::MM_Unix->maybe_command($file); } } } } 1; __END__ #line 156 Padre-Plugin-PerlTidy-0.21/inc/Module/Install/Fetch.pm0000644000175000017500000000462711663400420022345 0ustar azawawiazawawi#line 1 package Module::Install::Fetch; use strict; use Module::Install::Base (); use vars qw{$VERSION @ISA $ISCORE}; BEGIN { $VERSION = '1.04'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } sub get_file { my ($self, %args) = @_; my ($scheme, $host, $path, $file) = $args{url} =~ m|^(\w+)://([^/]+)(.+)/(.+)| or return; if ( $scheme eq 'http' and ! eval { require LWP::Simple; 1 } ) { $args{url} = $args{ftp_url} or (warn("LWP support unavailable!\n"), return); ($scheme, $host, $path, $file) = $args{url} =~ m|^(\w+)://([^/]+)(.+)/(.+)| or return; } $|++; print "Fetching '$file' from $host... "; unless (eval { require Socket; Socket::inet_aton($host) }) { warn "'$host' resolve failed!\n"; return; } return unless $scheme eq 'ftp' or $scheme eq 'http'; require Cwd; my $dir = Cwd::getcwd(); chdir $args{local_dir} or return if exists $args{local_dir}; if (eval { require LWP::Simple; 1 }) { LWP::Simple::mirror($args{url}, $file); } elsif (eval { require Net::FTP; 1 }) { eval { # use Net::FTP to get past firewall my $ftp = Net::FTP->new($host, Passive => 1, Timeout => 600); $ftp->login("anonymous", 'anonymous@example.com'); $ftp->cwd($path); $ftp->binary; $ftp->get($file) or (warn("$!\n"), return); $ftp->quit; } } elsif (my $ftp = $self->can_run('ftp')) { eval { # no Net::FTP, fallback to ftp.exe require FileHandle; my $fh = FileHandle->new; local $SIG{CHLD} = 'IGNORE'; unless ($fh->open("|$ftp -n")) { warn "Couldn't open ftp: $!\n"; chdir $dir; return; } my @dialog = split(/\n/, <<"END_FTP"); open $host user anonymous anonymous\@example.com cd $path binary get $file $file quit END_FTP foreach (@dialog) { $fh->print("$_\n") } $fh->close; } } else { warn "No working 'ftp' program available!\n"; chdir $dir; return; } unless (-f $file) { warn "Fetching failed: $@\n"; chdir $dir; return; } return if exists $args{size} and -s $file != $args{size}; system($args{run}) if exists $args{run}; unlink($file) if $args{remove}; print(((!exists $args{check_for} or -e $args{check_for}) ? "done!" : "failed! ($!)"), "\n"); chdir $dir; return !$?; } 1; Padre-Plugin-PerlTidy-0.21/inc/Module/Install/Metadata.pm0000644000175000017500000004327711663400420023040 0ustar azawawiazawawi#line 1 package Module::Install::Metadata; use strict 'vars'; use Module::Install::Base (); use vars qw{$VERSION @ISA $ISCORE}; BEGIN { $VERSION = '1.04'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } my @boolean_keys = qw{ sign }; my @scalar_keys = qw{ name module_name abstract version distribution_type tests installdirs }; my @tuple_keys = qw{ configure_requires build_requires requires recommends bundles resources }; my @resource_keys = qw{ homepage bugtracker repository }; my @array_keys = qw{ keywords author }; *authors = \&author; sub Meta { shift } sub Meta_BooleanKeys { @boolean_keys } sub Meta_ScalarKeys { @scalar_keys } sub Meta_TupleKeys { @tuple_keys } sub Meta_ResourceKeys { @resource_keys } sub Meta_ArrayKeys { @array_keys } foreach my $key ( @boolean_keys ) { *$key = sub { my $self = shift; if ( defined wantarray and not @_ ) { return $self->{values}->{$key}; } $self->{values}->{$key} = ( @_ ? $_[0] : 1 ); return $self; }; } foreach my $key ( @scalar_keys ) { *$key = sub { my $self = shift; return $self->{values}->{$key} if defined wantarray and !@_; $self->{values}->{$key} = shift; return $self; }; } foreach my $key ( @array_keys ) { *$key = sub { my $self = shift; return $self->{values}->{$key} if defined wantarray and !@_; $self->{values}->{$key} ||= []; push @{$self->{values}->{$key}}, @_; return $self; }; } foreach my $key ( @resource_keys ) { *$key = sub { my $self = shift; unless ( @_ ) { return () unless $self->{values}->{resources}; return map { $_->[1] } grep { $_->[0] eq $key } @{ $self->{values}->{resources} }; } return $self->{values}->{resources}->{$key} unless @_; my $uri = shift or die( "Did not provide a value to $key()" ); $self->resources( $key => $uri ); return 1; }; } foreach my $key ( grep { $_ ne "resources" } @tuple_keys) { *$key = sub { my $self = shift; return $self->{values}->{$key} unless @_; my @added; while ( @_ ) { my $module = shift or last; my $version = shift || 0; push @added, [ $module, $version ]; } push @{ $self->{values}->{$key} }, @added; return map {@$_} @added; }; } # Resource handling my %lc_resource = map { $_ => 1 } qw{ homepage license bugtracker repository }; sub resources { my $self = shift; while ( @_ ) { my $name = shift or last; my $value = shift or next; if ( $name eq lc $name and ! $lc_resource{$name} ) { die("Unsupported reserved lowercase resource '$name'"); } $self->{values}->{resources} ||= []; push @{ $self->{values}->{resources} }, [ $name, $value ]; } $self->{values}->{resources}; } # Aliases for build_requires that will have alternative # meanings in some future version of META.yml. sub test_requires { shift->build_requires(@_) } sub install_requires { shift->build_requires(@_) } # Aliases for installdirs options sub install_as_core { $_[0]->installdirs('perl') } sub install_as_cpan { $_[0]->installdirs('site') } sub install_as_site { $_[0]->installdirs('site') } sub install_as_vendor { $_[0]->installdirs('vendor') } sub dynamic_config { my $self = shift; my $value = @_ ? shift : 1; if ( $self->{values}->{dynamic_config} ) { # Once dynamic we never change to static, for safety return 0; } $self->{values}->{dynamic_config} = $value ? 1 : 0; return 1; } # Convenience command sub static_config { shift->dynamic_config(0); } sub perl_version { my $self = shift; return $self->{values}->{perl_version} unless @_; my $version = shift or die( "Did not provide a value to perl_version()" ); # Normalize the version $version = $self->_perl_version($version); # We don't support the really old versions unless ( $version >= 5.005 ) { die "Module::Install only supports 5.005 or newer (use ExtUtils::MakeMaker)\n"; } $self->{values}->{perl_version} = $version; } sub all_from { my ( $self, $file ) = @_; unless ( defined($file) ) { my $name = $self->name or die( "all_from called with no args without setting name() first" ); $file = join('/', 'lib', split(/-/, $name)) . '.pm'; $file =~ s{.*/}{} unless -e $file; unless ( -e $file ) { die("all_from cannot find $file from $name"); } } unless ( -f $file ) { die("The path '$file' does not exist, or is not a file"); } $self->{values}{all_from} = $file; # Some methods pull from POD instead of code. # If there is a matching .pod, use that instead my $pod = $file; $pod =~ s/\.pm$/.pod/i; $pod = $file unless -e $pod; # Pull the different values $self->name_from($file) unless $self->name; $self->version_from($file) unless $self->version; $self->perl_version_from($file) unless $self->perl_version; $self->author_from($pod) unless @{$self->author || []}; $self->license_from($pod) unless $self->license; $self->abstract_from($pod) unless $self->abstract; return 1; } sub provides { my $self = shift; my $provides = ( $self->{values}->{provides} ||= {} ); %$provides = (%$provides, @_) if @_; return $provides; } sub auto_provides { my $self = shift; return $self unless $self->is_admin; unless (-e 'MANIFEST') { warn "Cannot deduce auto_provides without a MANIFEST, skipping\n"; return $self; } # Avoid spurious warnings as we are not checking manifest here. local $SIG{__WARN__} = sub {1}; require ExtUtils::Manifest; local *ExtUtils::Manifest::manicheck = sub { return }; require Module::Build; my $build = Module::Build->new( dist_name => $self->name, dist_version => $self->version, license => $self->license, ); $self->provides( %{ $build->find_dist_packages || {} } ); } sub feature { my $self = shift; my $name = shift; my $features = ( $self->{values}->{features} ||= [] ); my $mods; if ( @_ == 1 and ref( $_[0] ) ) { # The user used ->feature like ->features by passing in the second # argument as a reference. Accomodate for that. $mods = $_[0]; } else { $mods = \@_; } my $count = 0; push @$features, ( $name => [ map { ref($_) ? ( ref($_) eq 'HASH' ) ? %$_ : @$_ : $_ } @$mods ] ); return @$features; } sub features { my $self = shift; while ( my ( $name, $mods ) = splice( @_, 0, 2 ) ) { $self->feature( $name, @$mods ); } return $self->{values}->{features} ? @{ $self->{values}->{features} } : (); } sub no_index { my $self = shift; my $type = shift; push @{ $self->{values}->{no_index}->{$type} }, @_ if $type; return $self->{values}->{no_index}; } sub read { my $self = shift; $self->include_deps( 'YAML::Tiny', 0 ); require YAML::Tiny; my $data = YAML::Tiny::LoadFile('META.yml'); # Call methods explicitly in case user has already set some values. while ( my ( $key, $value ) = each %$data ) { next unless $self->can($key); if ( ref $value eq 'HASH' ) { while ( my ( $module, $version ) = each %$value ) { $self->can($key)->($self, $module => $version ); } } else { $self->can($key)->($self, $value); } } return $self; } sub write { my $self = shift; return $self unless $self->is_admin; $self->admin->write_meta; return $self; } sub version_from { require ExtUtils::MM_Unix; my ( $self, $file ) = @_; $self->version( ExtUtils::MM_Unix->parse_version($file) ); # for version integrity check $self->makemaker_args( VERSION_FROM => $file ); } sub abstract_from { require ExtUtils::MM_Unix; my ( $self, $file ) = @_; $self->abstract( bless( { DISTNAME => $self->name }, 'ExtUtils::MM_Unix' )->parse_abstract($file) ); } # Add both distribution and module name sub name_from { my ($self, $file) = @_; if ( Module::Install::_read($file) =~ m/ ^ \s* package \s* ([\w:]+) \s* ; /ixms ) { my ($name, $module_name) = ($1, $1); $name =~ s{::}{-}g; $self->name($name); unless ( $self->module_name ) { $self->module_name($module_name); } } else { die("Cannot determine name from $file\n"); } } sub _extract_perl_version { if ( $_[0] =~ m/ ^\s* (?:use|require) \s* v? ([\d_\.]+) \s* ; /ixms ) { my $perl_version = $1; $perl_version =~ s{_}{}g; return $perl_version; } else { return; } } sub perl_version_from { my $self = shift; my $perl_version=_extract_perl_version(Module::Install::_read($_[0])); if ($perl_version) { $self->perl_version($perl_version); } else { warn "Cannot determine perl version info from $_[0]\n"; return; } } sub author_from { my $self = shift; my $content = Module::Install::_read($_[0]); if ($content =~ m/ =head \d \s+ (?:authors?)\b \s* ([^\n]*) | =head \d \s+ (?:licen[cs]e|licensing|copyright|legal)\b \s* .*? copyright .*? \d\d\d[\d.]+ \s* (?:\bby\b)? \s* ([^\n]*) /ixms) { my $author = $1 || $2; # XXX: ugly but should work anyway... if (eval "require Pod::Escapes; 1") { # Pod::Escapes has a mapping table. # It's in core of perl >= 5.9.3, and should be installed # as one of the Pod::Simple's prereqs, which is a prereq # of Pod::Text 3.x (see also below). $author =~ s{ E<( (\d+) | ([A-Za-z]+) )> } { defined $2 ? chr($2) : defined $Pod::Escapes::Name2character_number{$1} ? chr($Pod::Escapes::Name2character_number{$1}) : do { warn "Unknown escape: E<$1>"; "E<$1>"; }; }gex; } elsif (eval "require Pod::Text; 1" && $Pod::Text::VERSION < 3) { # Pod::Text < 3.0 has yet another mapping table, # though the table name of 2.x and 1.x are different. # (1.x is in core of Perl < 5.6, 2.x is in core of # Perl < 5.9.3) my $mapping = ($Pod::Text::VERSION < 2) ? \%Pod::Text::HTML_Escapes : \%Pod::Text::ESCAPES; $author =~ s{ E<( (\d+) | ([A-Za-z]+) )> } { defined $2 ? chr($2) : defined $mapping->{$1} ? $mapping->{$1} : do { warn "Unknown escape: E<$1>"; "E<$1>"; }; }gex; } else { $author =~ s{E}{<}g; $author =~ s{E}{>}g; } $self->author($author); } else { warn "Cannot determine author info from $_[0]\n"; } } #Stolen from M::B my %license_urls = ( perl => 'http://dev.perl.org/licenses/', apache => 'http://apache.org/licenses/LICENSE-2.0', apache_1_1 => 'http://apache.org/licenses/LICENSE-1.1', artistic => 'http://opensource.org/licenses/artistic-license.php', artistic_2 => 'http://opensource.org/licenses/artistic-license-2.0.php', lgpl => 'http://opensource.org/licenses/lgpl-license.php', lgpl2 => 'http://opensource.org/licenses/lgpl-2.1.php', lgpl3 => 'http://opensource.org/licenses/lgpl-3.0.html', bsd => 'http://opensource.org/licenses/bsd-license.php', gpl => 'http://opensource.org/licenses/gpl-license.php', gpl2 => 'http://opensource.org/licenses/gpl-2.0.php', gpl3 => 'http://opensource.org/licenses/gpl-3.0.html', mit => 'http://opensource.org/licenses/mit-license.php', mozilla => 'http://opensource.org/licenses/mozilla1.1.php', open_source => undef, unrestricted => undef, restrictive => undef, unknown => undef, ); sub license { my $self = shift; return $self->{values}->{license} unless @_; my $license = shift or die( 'Did not provide a value to license()' ); $license = __extract_license($license) || lc $license; $self->{values}->{license} = $license; # Automatically fill in license URLs if ( $license_urls{$license} ) { $self->resources( license => $license_urls{$license} ); } return 1; } sub _extract_license { my $pod = shift; my $matched; return __extract_license( ($matched) = $pod =~ m/ (=head \d \s+ L(?i:ICEN[CS]E|ICENSING)\b.*?) (=head \d.*|=cut.*|)\z /xms ) || __extract_license( ($matched) = $pod =~ m/ (=head \d \s+ (?:C(?i:OPYRIGHTS?)|L(?i:EGAL))\b.*?) (=head \d.*|=cut.*|)\z /xms ); } sub __extract_license { my $license_text = shift or return; my @phrases = ( '(?:under )?the same (?:terms|license) as (?:perl|the perl (?:\d )?programming language)' => 'perl', 1, '(?:under )?the terms of (?:perl|the perl programming language) itself' => 'perl', 1, 'Artistic and GPL' => 'perl', 1, 'GNU general public license' => 'gpl', 1, 'GNU public license' => 'gpl', 1, 'GNU lesser general public license' => 'lgpl', 1, 'GNU lesser public license' => 'lgpl', 1, 'GNU library general public license' => 'lgpl', 1, 'GNU library public license' => 'lgpl', 1, 'GNU Free Documentation license' => 'unrestricted', 1, 'GNU Affero General Public License' => 'open_source', 1, '(?:Free)?BSD license' => 'bsd', 1, 'Artistic license 2\.0' => 'artistic_2', 1, 'Artistic license' => 'artistic', 1, 'Apache (?:Software )?license' => 'apache', 1, 'GPL' => 'gpl', 1, 'LGPL' => 'lgpl', 1, 'BSD' => 'bsd', 1, 'Artistic' => 'artistic', 1, 'MIT' => 'mit', 1, 'Mozilla Public License' => 'mozilla', 1, 'Q Public License' => 'open_source', 1, 'OpenSSL License' => 'unrestricted', 1, 'SSLeay License' => 'unrestricted', 1, 'zlib License' => 'open_source', 1, 'proprietary' => 'proprietary', 0, ); while ( my ($pattern, $license, $osi) = splice(@phrases, 0, 3) ) { $pattern =~ s#\s+#\\s+#gs; if ( $license_text =~ /\b$pattern\b/i ) { return $license; } } return ''; } sub license_from { my $self = shift; if (my $license=_extract_license(Module::Install::_read($_[0]))) { $self->license($license); } else { warn "Cannot determine license info from $_[0]\n"; return 'unknown'; } } sub _extract_bugtracker { my @links = $_[0] =~ m#L<( https?\Q://rt.cpan.org/\E[^>]+| https?\Q://github.com/\E[\w_]+/[\w_]+/issues| https?\Q://code.google.com/p/\E[\w_\-]+/issues/list )>#gx; my %links; @links{@links}=(); @links=keys %links; return @links; } sub bugtracker_from { my $self = shift; my $content = Module::Install::_read($_[0]); my @links = _extract_bugtracker($content); unless ( @links ) { warn "Cannot determine bugtracker info from $_[0]\n"; return 0; } if ( @links > 1 ) { warn "Found more than one bugtracker link in $_[0]\n"; return 0; } # Set the bugtracker bugtracker( $links[0] ); return 1; } sub requires_from { my $self = shift; my $content = Module::Install::_readperl($_[0]); my @requires = $content =~ m/^use\s+([^\W\d]\w*(?:::\w+)*)\s+(v?[\d\.]+)/mg; while ( @requires ) { my $module = shift @requires; my $version = shift @requires; $self->requires( $module => $version ); } } sub test_requires_from { my $self = shift; my $content = Module::Install::_readperl($_[0]); my @requires = $content =~ m/^use\s+([^\W\d]\w*(?:::\w+)*)\s+([\d\.]+)/mg; while ( @requires ) { my $module = shift @requires; my $version = shift @requires; $self->test_requires( $module => $version ); } } # Convert triple-part versions (eg, 5.6.1 or 5.8.9) to # numbers (eg, 5.006001 or 5.008009). # Also, convert double-part versions (eg, 5.8) sub _perl_version { my $v = $_[-1]; $v =~ s/^([1-9])\.([1-9]\d?\d?)$/sprintf("%d.%03d",$1,$2)/e; $v =~ s/^([1-9])\.([1-9]\d?\d?)\.(0|[1-9]\d?\d?)$/sprintf("%d.%03d%03d",$1,$2,$3 || 0)/e; $v =~ s/(\.\d\d\d)000$/$1/; $v =~ s/_.+$//; if ( ref($v) ) { # Numify $v = $v + 0; } return $v; } sub add_metadata { my $self = shift; my %hash = @_; for my $key (keys %hash) { warn "add_metadata: $key is not prefixed with 'x_'.\n" . "Use appopriate function to add non-private metadata.\n" unless $key =~ /^x_/; $self->{values}->{$key} = $hash{$key}; } } ###################################################################### # MYMETA Support sub WriteMyMeta { die "WriteMyMeta has been deprecated"; } sub write_mymeta_yaml { my $self = shift; # We need YAML::Tiny to write the MYMETA.yml file unless ( eval { require YAML::Tiny; 1; } ) { return 1; } # Generate the data my $meta = $self->_write_mymeta_data or return 1; # Save as the MYMETA.yml file print "Writing MYMETA.yml\n"; YAML::Tiny::DumpFile('MYMETA.yml', $meta); } sub write_mymeta_json { my $self = shift; # We need JSON to write the MYMETA.json file unless ( eval { require JSON; 1; } ) { return 1; } # Generate the data my $meta = $self->_write_mymeta_data or return 1; # Save as the MYMETA.yml file print "Writing MYMETA.json\n"; Module::Install::_write( 'MYMETA.json', JSON->new->pretty(1)->canonical->encode($meta), ); } sub _write_mymeta_data { my $self = shift; # If there's no existing META.yml there is nothing we can do return undef unless -f 'META.yml'; # We need Parse::CPAN::Meta to load the file unless ( eval { require Parse::CPAN::Meta; 1; } ) { return undef; } # Merge the perl version into the dependencies my $val = $self->Meta->{values}; my $perl = delete $val->{perl_version}; if ( $perl ) { $val->{requires} ||= []; my $requires = $val->{requires}; # Canonize to three-dot version after Perl 5.6 if ( $perl >= 5.006 ) { $perl =~ s{^(\d+)\.(\d\d\d)(\d*)}{join('.', $1, int($2||0), int($3||0))}e } unshift @$requires, [ perl => $perl ]; } # Load the advisory META.yml file my @yaml = Parse::CPAN::Meta::LoadFile('META.yml'); my $meta = $yaml[0]; # Overwrite the non-configure dependency hashs delete $meta->{requires}; delete $meta->{build_requires}; delete $meta->{recommends}; if ( exists $val->{requires} ) { $meta->{requires} = { map { @$_ } @{ $val->{requires} } }; } if ( exists $val->{build_requires} ) { $meta->{build_requires} = { map { @$_ } @{ $val->{build_requires} } }; } return $meta; } 1; Padre-Plugin-PerlTidy-0.21/Changes0000644000175000017500000000764711703323337016660 0ustar azawawiazawawiRevision history for Perl extension Padre::Plugin::PerlTidy. 0.21 2012.01.11 - Fix packaging issue with 0.20 (AZAWAWI) 0.20 2012.01.11 - Tweak to enable selected text to work (BOWTIE, DODATHOME) 0.19 2011.11.24 - Restored missing Params::Util dependency (AZAWAWI) - Removed is_padre_plugin dependency (AZAWAWI) 0.18 2011.11.15 - Switch to Module::Install (BOWTIE) - Use PerlTidy from trunk/tools #1239 (BOWTIE) 0.17 2011.02.14 - Bumped the version number to reflect the adaptation to the Plugin API so the Plugin Manager shows the version of the plugin (CLAUDIO) - Removed bug broke the plugin (related to perltidyc). 0.16 2010.12.06 - Restored missing POT/PO translation sources (Damyan Ivanov, AZAWAWI) 0.15 2010.10.29 - Removed Test::NeedsDisplay dependency (AZAWAWI) 0.14 2010.10.27 - Fixed t/01-menu.t to work under no DISPLAY (AZAWAWI) - t/00-load.t is magically injected by [@PadrePlugin] via [LoadTests] (AZAWAWI) 0.13 2010.10.25 - Switched to Dist::Zilla (AZAWAWI) - Fixed t/00-load.t to work under no DISPLAY (AZAWAWI) - Fix the uninitialized variable warning when tidying an unsaved tab (AZAWAWI) - Updated Arabic translation (AZAWAWI) 0.12 Tue Oct 12 2010 - Fix duplicate "my $output" call 0.11 Mon Oct 11 2010 - Added translations: - Turkish (BURAK) - When tidying and exporting an unsaved document or text, the tab title is now used instead of the undefined document filename (AZAWAWI) - Prevent the current destructive nature when tidying a non-Perl document or text (AZAWAWI) - Re-used standard Padre's message and error method calls instead of Wx::MessageBox (AZAWAWI, idea from SZABGAB++) - Fixed RT #61993 "Can't tidy code when the bottom pane is off on Padre startup" (AZAWAWI, Reported by RENEEB++) 0.10 Thu Jan 21 2010 - A variety of cleanups to use Padre::Current more efficiently (ADAMK) - Added menu separator (ADAMK) - A somewhat cleaner code style that is closer to general conventions (ADAMK) - Added project config file that matches that of Padre itself (ADAMK) - Applied the Perl::Tidy plugin to itself, using the project config (ADAMK, BRICAS) - Added a few more menu tests (BRICAS) 0.09 Thu Jan 14 2010 - Fixed #776: PerlTidy needs -nse and -nst options (MRWHIPPLE) - _T() replaced with Wx::gettext() (BRICAS) - Use new project config setting (config_perltidy) if available (BRICAS) 0.08 Mon Aug 17 2009 - Center editor on active line after format (claudio) - Make cursor location storage less resource hungry (claudio) - Actually install the translations (RSN) - Added translations: - Japanese (ishigaki) - Updates for latest (0.43) API (BRICAS) - Add pod stubs so pod coverage will pass (BRICAS) - Renamed to the new Padre 0.43 PO naming scheme (azawawi) 0.07 Fri Jun 12 2009 - Added translations: - German (hjansen) - Arabic (azawawi) - Spanish (brunov) - Brazilian Portuguese (garu) - Cursor location is kept after cleaning (instead of beginning document). (claudio) - Menu tests are now locale agnostic (BRICAS) 0.06 Wed May 20 2009 - Keyboard shortcuts added (claudio) - Added translations: - French (jquelin) - Polish (therek) - Chinese (Traditional) translation (BLUET) 0.05 Mon Feb 09 2009 - Use Padre 0.26 API for output window (KAARE) - Move author tests to release time checking (ADAMK + BRICAS) 0.04 Tue Jan 06 2009 - Add HTML export feature (HJANSEN) - Capture errors from PerlTidy (HJANSEN) - Update for latest (0.23) API 0.03 Mon Dec 15 2008 - Update for latest API 0.02 Thu Nov 27 2008 - Use Module::Install::PadrePlugin to allow the user to install the plugin to their local dir - instead of use() Perl::Tidy, require() when needed - Update for the latest plugin system 0.01 Thu Oct 23 2008 - original version Padre-Plugin-PerlTidy-0.21/t/0000755000175000017500000000000011703323376015615 5ustar azawawiazawawiPadre-Plugin-PerlTidy-0.21/t/02_menu.t0000644000175000017500000000155611631612736017257 0ustar azawawiazawawi#!/usr/bin/perl use strict; use warnings; use Test::More; BEGIN { if ( not $ENV{DISPLAY} and not $^O eq 'MSWin32' ) { plan skip_all => 'Needs DISPLAY'; exit 0; } } plan tests => 13; use Padre::Plugin::PerlTidy; SCOPE: { my @menu = Padre::Plugin::PerlTidy->menu_plugins_simple; is @menu, 2, 'one menu item'; is $menu[0], 'Perl Tidy', 'plugin name'; is( @{ $menu[1] }, 10, '5 key-value pairs' ); # check for existence and not the actual words as these # are locale specific ok $menu[1][0], 'menu item 1'; ok ref $menu[1][1], 'menu item 1 (value)'; ok $menu[1][2], 'menu item 2'; ok ref $menu[1][3], 'menu item 2 (value)'; ok $menu[1][4], 'separator'; ok !defined $menu[1][5], 'separator (value)'; ok $menu[1][6], 'menu item 3'; ok ref $menu[1][7], 'menu item 3 (value)'; ok $menu[1][8], 'menu item 4'; ok ref $menu[1][9], 'menu item 4 (value)'; } Padre-Plugin-PerlTidy-0.21/t/01_compile.t0000644000175000017500000000034511631612736017735 0ustar azawawiazawawi#!/usr/bin/perl use strict; use warnings; use Test::More; BEGIN { if ( not $ENV{DISPLAY} and not $^O eq 'MSWin32' ) { plan skip_all => 'Needs DISPLAY'; exit 0; } } plan tests => 1; use_ok( 'Padre::Plugin::PerlTidy' );