GithubHelp home page GithubHelp logo

erc-gitter's Introduction

ERC-Gitter

ERC-Gitter is an ERC module with the goal of incorporating the features present in Gitter Chatrooms.

Features

  • Proper sending and viewing of multiline messages include code-blocks.
  • Inline markdown formatting using markdown-mode.
  • Link detection for github issues (#IssueNo), and cross-repo issues (user/repo#IssueNo).

Planned

  • Recognition of @name and @/all notices used in Gitter web-client.
  • Support for @name completion.

Currently unsupported

  • Code and quote block markup. ERC receives messages on a line-by-line basis. Matching these lines to detect code and quote blocks would require finding github block markers (```) or text starting with 4 spaces (normal code block) and then fontifying until end of block (next ```, end of 4+ space indent, change of user).

    These lines also include the entire IRC message string (sender, server, PRIVMSG), which should not be fontified in the process.

    Any assistance in reliably detecting these blocks is appreciated.

Installation

This package has the following dependencies:

  • ERC (bundled with emacs)
  • Markdown-Mode (available in MELPA)

Git Development package

To install the development package, follow the usual steps:

Clone this repository
https://github.com/jleechpe/erc-gitter.git
Add the directory to your load path
(add-to-list 'load-path "/path/to/erc-gitter/")
Require the package
(require 'erc-gitter)

Usage

Add erc-gitter to the list of erc-modules and update the list of modules.

(add-to-list 'erc-modules 'gitter)
(erc-update-modules)

Alternately, enable the module directly via M-x erc-gitter-enable.

Contributing

Please contribute. Doing any of the following will help

erc-gitter's People

Contributors

jleechpe avatar malabarba avatar syohex avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

syohex

erc-gitter's Issues

Handle incoming code blocks sent from ERC.

This was sent via ERC (use ^M to ensure sent as a block, otherwise no block highlight or guarantee of order)

Warning (erc-response): :[email protected] PRIVMSG #jleechpe/erc-gitter :```
Warning (erc-response): This is a test
Warning (erc-response): ```

This was sent from the web client

Warning (erc-response): :[email protected] PRIVMSG #jleechpe/erc-gitter :```
Warning (erc-response): :[email protected] PRIVMSG #jleechpe/erc-gitter :test2
Warning (erc-response): :[email protected] PRIVMSG #jleechpe/erc-gitter :```

Mardown hightlighting

I remember you mentioned this, so I thought this might help:

(with-temp-buffer
  (insert text)
  (markdown-mode)
  (font-lock-fontify-region (point-min) (point-max))
  (buffer-string))

Setup Gitter Login method

Set up a function to simplify login to Gitter over ERC (obtain /NICK and /PASS from https://irc.gitter.im)

Should be able to use w3m or eww to browse the page and log in, then take the returned information to perform the login while connecting.

Offer to save the credentials for future use (if ERC does not automatically)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.