2009-12-05 36 views
5

Như bạn biết có một công cụ đánh dấu cú pháp cho PHP được gọi là GeSHi hỗ trợ một số lượng lớn các định dạng Ngôn ngữ lập trình hoặc Mã.Công cụ đánh dấu cú pháp cho Java

Tuy nhiên, tôi không thể tìm thấy thư viện cho Java hỗ trợ ngôn ngữ lập trình mà tôi cần (ADA, ASP, BNF, Bash, Brainfuck, C, C++, C#, CSS, Cobol, ColdFusion, D, Fortran, Haskell, HTML, INI (Cấu hình), Java, JavaScript, Lisp, Tạo, Mục tiêu C, PASCAL, Perl, PHP, PLSQL, Prolog, Python, Ruby, Đề án, SQL, VB.NET, Verilog, VHDL, Visual Basic, XML .)

Bạn có biết một hoặc tôi nên thích cách không hiệu quả để truy xuất mã được đánh dấu từ máy chủ PHP từ xa thông qua giao dịch http không? Ý tưởng nào?

Cảm ơn.

+0

Bạn có nghĩa là, 'viết bằng Java'? – bmargulies

Trả lời

7
+0

Tất cả những thứ này đều có một số ít ngôn ngữ. :(Thanks anyway. –

+0

tuyên bố liên kết cuối cùng: Colorer-take5 hỗ trợ hơn hàng trăm ngôn ngữ lập trình, tập lệnh và đánh dấu. Tôi chưa kiểm tra mặc dù – Bozho

5

Hãy xem JHighlighter hoặc jEdit Syntax Package. Tất cả các ngôn ngữ được đề cập không được hỗ trợ ngoài hộp. Tuy nhiên, bạn có các nguồn, vì vậy tôi đoán có thể thêm hỗ trợ ngôn ngữ.

Không phải là câu trả lời trực tiếp, nếu cú ​​pháp phía máy khách là một tùy chọn, thư viện SyntaxHighlighter từ Alex Gorbatchev là thư viện javascript tuyệt vời, hỗ trợ rất nhiều languages và cao extensible.

+1

Liên kết đẹp. Cảm ơn. –

+0

Tôi thích SyntaxHighlighter - hoạt động tốt, giữ cho công việc ra khỏi máy chủ, làm giảm lưu lượng truy cập, để lại mã nguyên vẹn cho các công cụ tìm kiếm. –

+0

@Ondra Tôi hoàn toàn đồng ý với bạn. Trên thực tế, SyntaxHighlighter là tuyệt vời đến nỗi nó đã trở thành một loại tiêu chuẩn thực tế trên web ngày nay. –

3

Bạn có thể sử dụng Pygments qua Jython. Sẽ không nhanh như giải pháp Java, nhưng nhanh hơn nhiều so với tương tác với một máy chủ từ xa.

Chặn đó, bạn có thể chạy Geshi cục bộ và mã nguồn ống thông qua nó, điều đó cũng sẽ đánh bại một chuyến đi khứ hồi HTTP.

+0

Giải pháp tốt đẹp, cảm ơn –

0

jedit là trình chỉnh sửa văn bản có hỗ trợ đánh dấu cú pháp cho 170+ ngôn ngữ thông qua "chế độ". Nó cũng cho phép bạn chỉ định cú pháp của riêng bạn. Bạn có thể sử dụng thành phần StandaloneTextArea trong ứng dụng của bạn như sau:

  • nguồn Extract (ví dụ: jedit4.3source.tar.bz2 để d: \ nguồn \ jedit)
  • Sử dụng kiến ​​để sao chép tất cả các textarea file .. \ textarea ví dụ:

    D: \ Source \ jedit \ jEdit> ant chuẩn bị-textArea

  • Tuy nhiên, nó thiếu file BufferUndoListener.java. Sao chép thủ công bằng cách thực hiện

    D: \ Source \ jedit \ jEdit> sao chép org \ gjt \ sp \ jedit \ buffer \ BufferUndoListener.java .. \ textarea \ src \ org \ gjt \ sp \ jedit \ buffer \

  • trong Eclipse tạo ra một dự án Java từ nguồn hiện có trong thư mục D: \ Source \ jedit \ textarea

  • Navigate to org.gjt.sp.jedit.textarea.StandaloneTextArea.java
  • Thay đổi dòng
mode.setProperty("file","modes/xml.xml"); 

để

mode.setProperty("file","src/modes/xml.xml"); 
  • Run. Sao chép và dán một XML vào trình soạn thảo và xem tô sáng cú pháp đang hoạt động.
+0

đó là một ý tưởng hay. –

0

Một vài tô màu chữ mà làm việc rất tốt là:

Cả hai đều dễ dàng để thực hiện phía khách hàng, và hỗ trợ nhiều ngôn ngữ. Họ cũng có một loạt các chủ đề css đẹp mắt làm cho mã trông giống như trong trình soạn thảo yêu thích của bạn.

1

Dường như có thể chạy GeSHi từ Java: GeSHi4J có vẻ như đây là trình bao bọc chạy thư viện PHP trên JVM.

Các vấn đề liên quan