rosemacs is now separately distributed
This commit is contained in:
parent
9c3d15d28a
commit
5edc9e1e30
|
@ -1,33 +0,0 @@
|
|||
# A RELAX NG schema for manifest.xml files
|
||||
grammar {
|
||||
start = package
|
||||
package = element package {
|
||||
description &
|
||||
author &
|
||||
license &
|
||||
review &
|
||||
url &
|
||||
(depend* & platform* & rosdep* & export*)
|
||||
}
|
||||
description = element description {
|
||||
attribute brief { text }?,
|
||||
text
|
||||
}
|
||||
author = element author { text }
|
||||
license = element license { text }
|
||||
review = element review {
|
||||
attribute status { text },
|
||||
attribute notes { text }
|
||||
}
|
||||
url = element url { text }
|
||||
depend = element depend { attribute package { text } }
|
||||
export = element export { text & nodelet? }
|
||||
nodelet = element nodelet { attribute plugin }
|
||||
rosdep = element rosdep { attribute name { text } }
|
||||
platform = element platform {
|
||||
attribute os { text },
|
||||
attribute version { text }
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
<package>
|
||||
<catkin/>
|
||||
<description brief="Emacs extension for ros">
|
||||
Ros tools for those who live in emacs.
|
||||
</description>
|
||||
<url>http://www.ros.org/wiki/rosemacs</url>
|
||||
<author>Bhaskara Marthi</author>
|
||||
<license>BSD</license>
|
||||
<review status="experimental" notes=""/>
|
||||
<platform os="ubuntu" version="9.04"/>
|
||||
<platform os="ubuntu" version="9.10"/>
|
||||
<platform os="ubuntu" version="10.04"/>
|
||||
<platform os="macports" version="macports"/>
|
||||
</package>
|
|
@ -1,10 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
# Used by rosemacs rosnode mode to keep track of current ros rosnode
|
||||
|
||||
while [ 1 ]
|
||||
do
|
||||
echo "BEGIN ROSNODE LIST"
|
||||
rosnode list
|
||||
echo "END ROSNODE LIST"
|
||||
sleep $1
|
||||
done
|
|
@ -1,10 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
# Used by rosemacs rostopic mode to keep track of current ros topics
|
||||
|
||||
while [ 1 ]
|
||||
do
|
||||
echo "BEGIN ROSTOPIC LIST"
|
||||
rostopic list -v
|
||||
echo "END ROSTOPIC LIST"
|
||||
sleep $1
|
||||
done
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<locatingRules xmlns="http://thaiopensource.com/ns/locating-rules/1.0">
|
||||
<uri pattern="*.launch" uri="roslaunch.rnc"/>
|
||||
<documentElement localName="launch" uri="roslaunch.rnc"/>
|
||||
<uri pattern="*manifest.xml" uri="manifest.rnc"/>
|
||||
</locatingRules>
|
|
@ -1,19 +0,0 @@
|
|||
(define-derived-mode rosbag-view-mode
|
||||
fundamental-mode "Rosbag view mode"
|
||||
"Major mode for viewing ROS bag files. See view-mode documentation for more info.
|
||||
|
||||
\\{rosbag-view-mode-map}"
|
||||
(let ((f (buffer-file-name)))
|
||||
(let ((buffer-read-only nil))
|
||||
(erase-buffer)
|
||||
(message "Calling rosbag info")
|
||||
(call-process "rosbag" nil (current-buffer) nil
|
||||
"info" f)
|
||||
(set-buffer-modified-p nil))
|
||||
(view-mode)
|
||||
(set-visited-file-name nil t)
|
||||
))
|
||||
|
||||
|
||||
|
||||
(provide 'rosbag-view-mode)
|
File diff suppressed because it is too large
Load Diff
|
@ -1,55 +0,0 @@
|
|||
# A RELAX NG schema for ros launch files
|
||||
# Incomplete
|
||||
grammar {
|
||||
start = launch
|
||||
launch = element launch { master? & node* & param* & inc* & group* & rosparam* & env* & arg* & remap* }
|
||||
group = element group { attribute ns { text }? & attribute if { text }? & attribute unless { text } &
|
||||
( node* & param* & inc* ) }
|
||||
master = element master { attribute auto { text } }
|
||||
node = element node {
|
||||
attribute name { text } &
|
||||
attribute pkg { text } &
|
||||
attribute type { text } &
|
||||
attribute args { text }? &
|
||||
attribute respawn { "true" | "false" }? &
|
||||
attribute machine { text }? &
|
||||
attribute output { text }? &
|
||||
attribute ns { text }? &
|
||||
( param* & remap* & rosparam* & group* )
|
||||
}
|
||||
env = element env {
|
||||
attribute name { text } &
|
||||
attribute value { text }
|
||||
}
|
||||
param = element param {
|
||||
attribute name { text } &
|
||||
attribute value { text }? &
|
||||
attribute command { text }? &
|
||||
attribute if { text }? &
|
||||
attribute unless { text }? &
|
||||
attribute type { text }?
|
||||
}
|
||||
arg = element arg {
|
||||
attribute name { text } &
|
||||
attribute value { text }? &
|
||||
attribute default { text }?
|
||||
}
|
||||
rosparam = element rosparam {
|
||||
attribute command { text }? &
|
||||
attribute file { text }? &
|
||||
attribute ns { text }? &
|
||||
attribute param { text }? &
|
||||
attribute if { text }? &
|
||||
attribute unless { text }? &
|
||||
( text )
|
||||
}
|
||||
|
||||
|
||||
remap = element remap { attribute from { text }, attribute to { text },
|
||||
attribute unless { text }*, attribute if { text }* }
|
||||
inc = element include {
|
||||
attribute file { text },
|
||||
( arg* )
|
||||
|
||||
}
|
||||
}
|
|
@ -1,73 +0,0 @@
|
|||
|
||||
(require 'slime-asdf)
|
||||
(require 'rosemacs)
|
||||
|
||||
(defcustom slime-ros-completion-function 'completing-read
|
||||
"The completion function to be used for package and system
|
||||
completions. This variable can be set to `ido-completing-read'
|
||||
to enable `ido-mode' for ros packages."
|
||||
:type 'function
|
||||
:group 'rosemacs)
|
||||
|
||||
(defvar slime-ros-package-history nil)
|
||||
|
||||
(defun slime-ros-read-pkg-name (&optional prompt default-value)
|
||||
(cond ((not (slime-current-connection))
|
||||
(message "Not connected."))
|
||||
(t
|
||||
(let ((default (slime-eval `(cl:identity ros-load:*current-ros-package*))))
|
||||
(ros-completing-read-package nil default slime-ros-completion-function)))))
|
||||
|
||||
(defun slime-ros-replace-underscores (str)
|
||||
(replace-regexp-in-string "_" "-" str))
|
||||
|
||||
(defun slime-ros-get-systems-in-pkg (package &optional default-value prompt)
|
||||
(let* ((package-path (ros-package-path package))
|
||||
(asd-files (ros-files-in-package package-path "asd" "asdf"))
|
||||
(default2 (slime-ros-replace-underscores default-value))
|
||||
(default (cond ((member default-value asd-files) default-value)
|
||||
((member default2 asd-files) default2)))
|
||||
(prompt (concat (or prompt (format "ROS Package `%s', System" package))
|
||||
(if default
|
||||
(format " (default `%s'): " default)
|
||||
": "))))
|
||||
(funcall slime-ros-completion-function
|
||||
prompt (mapcar #'car (slime-bogus-completion-alist asd-files))
|
||||
nil nil nil nil default)))
|
||||
|
||||
(defslime-repl-shortcut slime-repl-load-ros-system ("ros-load-system")
|
||||
(:handler (lambda ()
|
||||
(interactive)
|
||||
(let* ((ros-pkg-name (slime-ros-read-pkg-name))
|
||||
(path (ros-package-path ros-pkg-name))
|
||||
(system-name (slime-ros-get-systems-in-pkg ros-pkg-name ros-pkg-name)))
|
||||
(slime-cd path)
|
||||
(setq default-directory path)
|
||||
(slime-eval `(cl:setf ros-load:*current-ros-package* ,ros-pkg-name))
|
||||
(slime-oos system-name 'load-op)))))
|
||||
|
||||
(defslime-repl-shortcut slime-repl-load-ros-system ("ros-test-system")
|
||||
(:handler (lambda ()
|
||||
(interactive)
|
||||
(let* ((ros-pkg-name (slime-ros-read-pkg-name))
|
||||
(system-name (slime-ros-get-systems-in-pkg ros-pkg-name ros-pkg-name)))
|
||||
(slime-eval `(cl:setf ros-load:*current-ros-package* ,ros-pkg-name))
|
||||
(slime-oos system-name 'test-op)))))
|
||||
|
||||
(defun slime-ros ()
|
||||
(interactive)
|
||||
(let* ((sbcl-pkg-path (ros-package-dir "sbcl"))
|
||||
(roslisp-path (ros-package-dir "roslisp"))
|
||||
(sbcl-binary (if sbcl-pkg-path
|
||||
(concat sbcl-pkg-path "/scripts/run-sbcl.sh")
|
||||
"/usr/bin/sbcl"))
|
||||
(inferior-lisp-program (concat sbcl-binary " --load " roslisp-path
|
||||
"/scripts/roslisp-sbcl-init"))
|
||||
|
||||
;; Override user's implementations if set
|
||||
(slime-lisp-implementations nil))
|
||||
(message "Starting sbcl version from %s" sbcl-binary)
|
||||
|
||||
(slime)))
|
||||
|
||||
(provide 'slime-ros)
|
|
@ -1,23 +0,0 @@
|
|||
# -*- mode: snippet -*-
|
||||
# name: header file with include guards, namespace
|
||||
# expand-env: ((pkg (ros-package-for-buffer (current-buffer) t)) (fname (file-name-nondirectory (file-name-sans-extension (buffer-file-name (current-buffer))))))
|
||||
# --
|
||||
/**
|
||||
* \file
|
||||
*
|
||||
* ${1:FILE DESCRIPTION}
|
||||
*
|
||||
* \author ${2:AUTHOR}
|
||||
*/
|
||||
|
||||
#ifndef `(upcase pkg)`_`(upcase fname)`_H
|
||||
#define `(upcase pkg)`_`(upcase fname)`_H
|
||||
|
||||
namespace `pkg`
|
||||
{
|
||||
|
||||
$0
|
||||
|
||||
} // namespace
|
||||
|
||||
#endif // include guard
|
|
@ -1,20 +0,0 @@
|
|||
# -*- mode: snippet -*-
|
||||
# name: Ros source file
|
||||
# expand-env: ((pkg (ros-package-for-buffer (current-buffer) t)) (fname (file-name-nondirectory (file-name-sans-extension (buffer-file-name (current-buffer))))))
|
||||
# --
|
||||
/**
|
||||
* \file
|
||||
*
|
||||
* ${1:FILE DESCRIPTION}
|
||||
*
|
||||
* \author ${2:AUTHOR}
|
||||
*/
|
||||
|
||||
#include <${3:INCLUDES}>
|
||||
|
||||
namespace `pkg`
|
||||
{
|
||||
|
||||
$0
|
||||
|
||||
} // namespace
|
|
@ -1,10 +0,0 @@
|
|||
# -*- mode: snippet -*-
|
||||
# name: main() for a ros node
|
||||
# --
|
||||
int main (int argc, char** argv)
|
||||
{
|
||||
ros::init(argc, argv, "`(file-name-nondirectory (file-name-sans-extension (buffer-file-name (current-buffer))))`");
|
||||
${1:NODE_CLASS} node;
|
||||
ros::spin();
|
||||
return 0;
|
||||
}
|
|
@ -1,20 +0,0 @@
|
|||
# -*- mode: snippet -*-
|
||||
# name: Ros test source file
|
||||
# expand-env: ((pkg (ros-package-for-buffer (current-buffer) t)) (fname (file-name-nondirectory (file-name-sans-extension (buffer-file-name (current-buffer))))))
|
||||
# --
|
||||
/**
|
||||
* \file
|
||||
*
|
||||
* ${1:FILE DESCRIPTION}
|
||||
*
|
||||
* \author ${2:AUTHOR}
|
||||
*/
|
||||
|
||||
#include <${3:INCLUDES}>
|
||||
|
||||
namespace `pkg`
|
||||
{
|
||||
|
||||
$0
|
||||
|
||||
} // namespace
|
Loading…
Reference in New Issue